为什么Google身份验证令牌刷新最近在Android的Azure移动应用程序SDK中仍然失败

拉扎罗斯·帕帕多普洛斯

我有一个Android应用程序实现了Azure移动SDK(com.microsoft.azure:azure-mobile-android:3.5.1@aar)。在我的应用程序中,我将Google身份验证方法与刷新令牌一起使用(如Azure Mobile Apps文档中所述) 。身份验证已经运行了将近两年。在最近10天(未进行任何更改)中,如果最近一次刷新是在60分钟或更早之前进行的,我的用户将无法再刷新其身份验证令牌。仅在调用时间少于1小时时刷新才会成功。如果刷新失败(通常如此),我必须强制用户使用Google同意屏幕再次登录,以获取新令牌。以前没有发生过,因为令牌甚至可以在上次刷新后几天刷新。有什么事吗 我的Azure服务计划类型为D1:共享。

如果在上次刷新后1小时以上调用了refreshUser()方法,则用户会在其android设备中看到此错误消息:

Google身份验证刷新失败。刷新失败,并显示401未经授权错误。凭证不再有效。

在日志流中(位于portal.azure中),我看到以下消息:

HTTP错误401.83-未经授权您没有查看此目录或页面的权限。最可能的原因:经过身份验证的用户无权访问处理请求所需的资源。您可以尝试以下操作:创建跟踪规则以跟踪失败的请求此HTTP状态代码。

这是我的身份验证方法:

private void authenticate() {
// Sign in using the Google provider.
HashMap parameters = new HashMap<>();
parameters.put("access_type", "offline");
parameters.put("prompt", "consent");
mClient.login(MobileServiceAuthenticationProvider.Google, url_scheme_of_your_app, GOOGLE_LOGIN_REQUEST_CODE, parameters); 
}

这是我遵循Mobile Apps文档的刷新令牌方法:

private void refreshToken(){mClient.refreshUser(new UserAuthenticationCallback() {
    @Override
    public void onCompleted(MobileServiceUser user, Exception exception, ServiceFilterResponse response) {
    if (user != null && exception == null) {
    /*refresh succeeded*/
    } else { 
    /*refresh failed*/
    String message = "+"%s authentication refresh failed.Error: %s", "Google",exception.getMessage())";}}}); }

Azure门户中的身份验证设置: 在此处输入图片说明

康纳·麦克马洪

看起来Azure应用服务身份验证/授权功能在令牌刷新的默认值中具有回归(以前是72小时,现在没有设置,因此默认为1小时)。我们将在即将发布的版本(接下来的几周)中对此进行修复。

同时,您可以按照以下步骤手动配置该值:

  1. 导航到https://resources.azure.com

  2. 导航到订阅>(子名称)> resourceGroups>(resourceGroupName)>提供程序> Microsoft.Web>站点>(siteName)>配置> authSettings。

  3. 点击编辑

  4. 将“ tokenRefreshExtensionHours”设置为72。

  5. 点击PUT

这样可以恢复以前的行为,即使将默认值改回72小时也仍然可以使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过Android应用程序通过Facebook令牌对WebAPI进行身份验证的访问

来自分类Dev

在移动Web应用程序中存储身份验证令牌的最安全方法

来自分类Dev

单页应用程序:身份验证令牌管理和浏览器刷新

来自分类Dev

Windows Phone 8应用程序上的Live Connect SDK是否“身份验证失败”?

来自分类Dev

移动应用程序Web API身份验证

来自分类Dev

NTLM身份验证在多线程应用程序中失败

来自分类Dev

使用Azure移动应用程序进行自定义身份验证

来自分类Dev

在ASP.NET WebApi 2中为移动应用程序实现外部身份验证

来自分类Dev

为什么在REST API中为应用程序(Android端)使用身份验证令牌而不是session_id

来自分类Dev

Azure移动应用程序身份验证和Azure AAD B2C

来自分类Dev

weblogic中的Web应用程序部署失败:代理身份验证失败

来自分类Dev

Azure移动应用程序-自定义身份验证-无法登录

来自分类Dev

Azure应用服务(移动应用)AAD身份验证令牌刷新

来自分类Dev

从应用程序服务到Azure Key Vault的身份验证失败

来自分类Dev

基于Hyperledger Fabric的Web和移动应用程序中的身份验证机制

来自分类Dev

用户通过Google Web应用程序进行身份验证后,获取并使用访问令牌

来自分类Dev

Django应用程序的DB用户在AWS中身份验证失败

来自分类Dev

使用本地应用程序默认身份令牌对Google Cloud python进行身份验证的云运行请求

来自分类Dev

通过Android应用程序通过Facebook令牌对WebAPI进行身份验证的访问

来自分类Dev

移动应用程序Web API身份验证

来自分类Dev

使用来自移动应用程序的令牌进行剩余API身份验证

来自分类Dev

Azure移动应用程序身份验证和Azure AAD B2C

来自分类Dev

Azure移动应用程序中的应用程序身份验证。如何?

来自分类Dev

Azure移动应用程序和Xamarin表单:在后台使用Facebook进行身份验证

来自分类Dev

Azure移动应用程序-自定义身份验证-无法登录

来自分类Dev

如何获取和使用适当的signingKey进行Azure移动应用程序身份验证?

来自分类Dev

来自 Web 应用程序的 Azure 异步身份验证令牌

来自分类Dev

旧应用程序中的 Symfony:为什么我会收到“您未通过身份验证”?

来自分类Dev

从 Android 应用程序到 Google Cloud Engine 应用程序的 HTTP 请求的身份验证

Related 相关文章

  1. 1

    通过Android应用程序通过Facebook令牌对WebAPI进行身份验证的访问

  2. 2

    在移动Web应用程序中存储身份验证令牌的最安全方法

  3. 3

    单页应用程序:身份验证令牌管理和浏览器刷新

  4. 4

    Windows Phone 8应用程序上的Live Connect SDK是否“身份验证失败”?

  5. 5

    移动应用程序Web API身份验证

  6. 6

    NTLM身份验证在多线程应用程序中失败

  7. 7

    使用Azure移动应用程序进行自定义身份验证

  8. 8

    在ASP.NET WebApi 2中为移动应用程序实现外部身份验证

  9. 9

    为什么在REST API中为应用程序(Android端)使用身份验证令牌而不是session_id

  10. 10

    Azure移动应用程序身份验证和Azure AAD B2C

  11. 11

    weblogic中的Web应用程序部署失败:代理身份验证失败

  12. 12

    Azure移动应用程序-自定义身份验证-无法登录

  13. 13

    Azure应用服务(移动应用)AAD身份验证令牌刷新

  14. 14

    从应用程序服务到Azure Key Vault的身份验证失败

  15. 15

    基于Hyperledger Fabric的Web和移动应用程序中的身份验证机制

  16. 16

    用户通过Google Web应用程序进行身份验证后,获取并使用访问令牌

  17. 17

    Django应用程序的DB用户在AWS中身份验证失败

  18. 18

    使用本地应用程序默认身份令牌对Google Cloud python进行身份验证的云运行请求

  19. 19

    通过Android应用程序通过Facebook令牌对WebAPI进行身份验证的访问

  20. 20

    移动应用程序Web API身份验证

  21. 21

    使用来自移动应用程序的令牌进行剩余API身份验证

  22. 22

    Azure移动应用程序身份验证和Azure AAD B2C

  23. 23

    Azure移动应用程序中的应用程序身份验证。如何?

  24. 24

    Azure移动应用程序和Xamarin表单:在后台使用Facebook进行身份验证

  25. 25

    Azure移动应用程序-自定义身份验证-无法登录

  26. 26

    如何获取和使用适当的signingKey进行Azure移动应用程序身份验证?

  27. 27

    来自 Web 应用程序的 Azure 异步身份验证令牌

  28. 28

    旧应用程序中的 Symfony:为什么我会收到“您未通过身份验证”?

  29. 29

    从 Android 应用程序到 Google Cloud Engine 应用程序的 HTTP 请求的身份验证

热门标签

归档