Ibm cloud 通过混合应用程序和移动应用程序安全性使用身份验证

Ibm cloud 通过混合应用程序和移动应用程序安全性使用身份验证,ibm-cloud,Ibm Cloud,我试图了解如何使用混合应用程序(这是一个关键的混合应用程序)和MAS服务进行身份验证。我已启用“谷歌登录”。但当我去看医生时,它会告诉你当你有代币时该怎么做 那么-等等-我怎么才能拿到代币?这里缺了一整部分。我应该怎么做才能集成谷歌登录?我自己造的吗?如果是这样的话,那么在向我的服务发出请求时,我应该使用该令牌吗 似乎没有任何使用混合解决方案的演示。在这种情况下,我认为您需要从Google获得OAuth凭据。Bluemix无法代表您请求该凭据。请参见此处了解如何在Google中实现此功能:关于从

我试图了解如何使用混合应用程序(这是一个关键的混合应用程序)和MAS服务进行身份验证。我已启用“谷歌登录”。但当我去看医生时,它会告诉你当你有代币时该怎么做

那么-等等-我怎么才能拿到代币?这里缺了一整部分。我应该怎么做才能集成谷歌登录?我自己造的吗?如果是这样的话,那么在向我的服务发出请求时,我应该使用该令牌吗


似乎没有任何使用混合解决方案的演示。在这种情况下,我认为您需要从Google获得OAuth凭据。Bluemix无法代表您请求该凭据。请参见此处了解如何在Google中实现此功能:

关于从Google获取令牌,您必须使用他们提供的工具来实现Google登录。用户登录后,您将能够获取其特定的身份验证令牌。Google提供了一些关于如何实现登录和获取安全令牌的文档:

提供了此功能的一个示例:

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);
});
IBMBluemix.setSecurityToken(“,IBMBluemix.SecurityProvider.GOOGLE).done(函数(loggedInUser){
log(“有效的OAuth令牌”);
},函数(err){
控制台错误(“令牌错误”);
console.dir(err);
});
这在这里有更详细的概述:


这两个答案都有道理,但我可以说BM文档中没有明确说明这一点。此外,一旦您设置了此令牌,您将如何准确地使用它?例如,如果我有一个BM服务设置,并且我想要一个有效的令牌,那么这是如何完成的?@RaymondCamden我已经编辑了我们的回复。为了澄清这一点,您可以为每个登录的用户获取一个有效的令牌,然后将该令牌传递给MAS,以便为每个用户提供一个额外的身份验证层。你也可以从有效的令牌(prof pic,email,等等)中获取用户信息来定制你的客户端应用程序。我现在还没有得到服务器方面的信息。如果我设置了安全令牌,我对在Bluemix上运行的节点应用程序的调用是否会发生变化?也就是说,我可以在那边说,“他/她有没有用代币打电话给我?”。如果没有,那么这有什么意义呢?如果我已经在通过Google进行我自己的身份验证和验证,那么这个特定的API给了我什么?这个API只是提供了另一层身份验证。当您选中MAS仪表板上的“启用谷歌登录”框时,您只允许具有有效谷歌身份验证令牌的应用访问移动数据和推送服务。好的,这是非常重要的信息。这有文件记录吗?我想这句话有点暗指:“任何不在列表中的移动客户端应用程序都会被拒绝访问移动云应用程序。”,但你说的要清楚得多,应该说出来,你不觉得吗?