【问题标题】:Azure app service Google authenticationAzure 应用服务 Google 身份验证
【发布时间】:2017-06-23 22:01:38
【问题描述】:

我已经成功创建了一个简单的 android 应用程序,该应用程序使用 Azure 应用服务成功登录到 Google。

ListenableFuture<MobileServiceUser> mLogin = mClient.login(MobileServiceAuthenticationProvider.Google);

    Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() {
        @Override
        public void onFailure(Throwable exc) {
            createAndShowDialog(exc.toString(), "Error");
        }
        @Override
        public void onSuccess(MobileServiceUser user) {
            createAndShowDialog(String.format(
                    "You are now logged in - %1$2s",
                    user.getUserId()), "Success");

        }
    });

此时我已经成功登录并收到了一个 Auth 令牌和一个 UserID。

我的问题是,我无法在网上找到任何方法来获取已登录用户的额外个人资料信息。我已经看到了一些关于使用 ServiceUser 而不是 MobileServiceUser 的建议,但似乎没有任何运气来制作 ServiceUser 对象。可以在这里找到。 How to retrieve user's additional information from Azure Mobile/App Services?

有人知道解决办法吗?

提前致谢!

【问题讨论】:

    标签: android azure


    【解决方案1】:

    如果您使用here 所述的简易身份验证,则可以简单地将端点 /.auth/me 附加到 URL。例如:

    登录端点https://easyauthkaushal.azurewebsites.net/.auth/login/google

    用户详情https://easyauthkaushal.azurewebsites.net/.auth/me

    另请参阅有关使用声明和范围的 Google 文档。看到这个: OAuth 2.0 Scopes for Google APIs

    【讨论】:

      【解决方案2】:

      除了身份验证令牌和您的服务分配给用户的用户 ID 之外,获取用户信息的唯一方法是使用客户端定向的 OAuth 路由。 Here 是关于它的 MSDN 文章。基本上,您需要自己向 Google 发起 OAuth 调用,他们将允许您访问您的应用被授权拥有的所有内容,包括名称,并且您需要将从他们那里获得的令牌传递给您的移动/应用服务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-26
        • 2015-08-11
        • 1970-01-01
        • 1970-01-01
        • 2019-01-24
        • 2016-07-26
        • 1970-01-01
        • 2020-06-10
        相关资源
        最近更新 更多