您的位置:首页 > 移动开发

Authentication in Loopback Applications Against Bluemix(在针对Bluemix的Lookback应用中进行身份认证)

2018-01-08 17:32 537 查看

Authentication in Loopback Applications Against Bluemix

原文作者:Niklas Heidloff

原文地址:https://dzone.com/articles/authentication-in-loopback-applications-against-bl

译者:@从流域到海域

译者博客:blog.csdn.net/solo95

本文同样刊载于腾讯云+:

https://cloud.tencent.com/developer/article/1016031

在针对Bluemix的Lookback应用中进行身份认证



Node.js API框架LoopBack支持使用第三方登录来验证用户和链接帐户。

从GitHub获取代码。

单一登录服务支持不同的身份提供者(identity provider)。例如,企业客户通常使用的SAML。如果客户没有SAML身份提供者(provider),他们可以先将SAML协议外部化成遵从LDAP版本3标准的目录,然后在目录中安装Identity Bridge。在下面的示例中,我使用了一些测试用户的云目录,但是使用SAML时应用程序代码是相同的。

LoopBack利用passport通过loopback-component-passport模块来支持第三方登录。GitHub上的示例展示了如何通过Facebook,Google和Twitter进行身份验证。

为了验证单点登录服务,您需要使用passport-idaas-openidconnect模块。棘手的部分是做正确的配置,因为它的使用文档内容不够详细。下面是代码的关键部分。为了从Bluemix上下文中读取凭据(credentials),提供程序不是在静态属性文件中定义的,而是以编程方式定义的.

var options = {
"provider": "ibm",
"module": "passport-idaas-openidconnect",
"strategy": "IDaaSOIDCStrategy",
"clientID": ssoConfig.credentials.clientId,
"clientSecret": ssoConfig.credentials.secret,
"authorizationURL": ssoConfig.credentials.authorizationEndpointUrl,
"tokenURL": ssoConfig.credentials.tokenEndpointUrl,
"scope": "openid",
"response_type": "code",
"callbackURL": "/auth/ibm/callback",
"skipUserProfile": true,
"issuer": ssoConfig.credentials.issuerIdentifier,
"authScheme": "openid connect",
"authPath": "/auth/ibm",
"session": true,
"failureFlash": true
};
passportConfigurator.configureProvider("ibm", options);


之后,您可以使用云目录中所定义的用户身份登录。有什么不清楚的可以在截图中查看更多细节。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Loopback Bluemix
相关文章推荐