我正在尝试理解如何使用混合应用程序(这一点很关键,混合应用程序)和MAS服务来完成身份验证。我已经启用了"Google登录“。但是当我去看文档的时候,http://mbaas-gettingstarted.ng.bluemix.net/javascript#get-started-with-security,它告诉你当你有一个令牌的时候该怎么做。
那么-等等-我如何获得令牌?这里缺了一个完整的部分。我应该怎么做才能集成Google登录?这是我自己做的吗?如果是这样,我是否应该在向我的服务发出请求时使用该令牌?
似乎没有任何使用混合解决方案的演示。
发布于 2015-05-30 02:44:45
我认为在这种情况下,您需要从谷歌获得OAuth凭据。Bluemix无法代表您请求该凭据。请看这里了解如何在谷歌中做到这一点:https://developers.google.com/identity/protocols/OpenIDConnect
发布于 2015-05-30 03:32:24
关于从Google获取令牌,您必须使用他们提供的工具来实现Google登录。用户登录后,您将能够获取其特定的身份验证令牌。Google在这里提供了一些关于如何实现登录和获取安全令牌的文档:
https://developers.google.com/identity/sign-in/web/
下面提供了此功能的一个示例:
function onSignIn(googleUser) {
// Useful data for your client-side scripts:
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId()); // Don't send this directly to your server!
console.log("Name: " + profile.getName());
console.log("Image URL: " + profile.getImageUrl());
console.log("Email: " + profile.getEmail());
// The ID token you need to pass to your backend:
var id_token = googleUser.getAuthResponse().id_token;
console.log("ID Token: " + id_token);
};
获得令牌后,您可以使用IBM Bluemix API来设置安全令牌,例如:
IBMBluemix.setSecurityToken("<token>",IBMBluemix.SecurityProvider.GOOGLE).done(function(loggedInUser){
console.log("Valid OAuth token");
}, function(err){
console.error("Error with token");
console.dir(err);
});
下面将详细介绍这一点:
http://mbaas-gettingstarted.ng.bluemix.net/hybrid#user-authentication
https://stackoverflow.com/questions/30535738
复制相似问题