使用混合应用程序和移动应用程序安全性

时间:2015-05-29 17:34:15

标签: ibm-cloud

我试图了解如何通过混合应用程序(这是至关重要的,HYBRID应用程序)和MAS服务来完成身份验证。我已启用" Google登录"。但是当我转到文档http://mbaas-gettingstarted.ng.bluemix.net/javascript#get-started-with-security时,它会告诉您在拥有令牌时该怎么做。

所以 - 等等 - 如何获得令牌?这里缺少一部分。我应该做什么来整合w / Google登录?我自己建造吗?如果是这样,我是否应该在向我的服务提出请求时使用该令牌?

似乎没有任何使用混合解决方案的演示。

2 个答案:

答案 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