我试图了解如何通过混合应用程序(这是至关重要的,HYBRID应用程序)和MAS服务来完成身份验证。我已启用" Google登录"。但是当我转到文档http://mbaas-gettingstarted.ng.bluemix.net/javascript#get-started-with-security时,它会告诉您在拥有令牌时该怎么做。
所以 - 等等 - 如何获得令牌?这里缺少一部分。我应该做什么来整合w / Google登录?我自己建造吗?如果是这样,我是否应该在向我的服务提出请求时使用该令牌?
似乎没有任何使用混合解决方案的演示。
答案 0 :(得分:1)
在这种情况下,我认为您需要从Google获取OAuth凭据。 Bluemix无法代表您申请该凭证。请参阅此处了解如何在Google中执行此操作:https://developers.google.com/identity/protocols/OpenIDConnect
答案 1 :(得分:0)
关于从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