Xamarin.forms Azure移动服务中的身份验证流程是什么?如何处理社交代币?

Xamarin.forms Azure移动服务中的身份验证流程是什么?如何处理社交代币?,xamarin.forms,azure-mobile-services,amazon-cognito,azure-authentication,Xamarin.forms,Azure Mobile Services,Amazon Cognito,Azure Authentication,在我使用Aws Cognito之前,流程的工作原理很简单,但我无法理解Azure移动服务认证的好处。我跟着,但这让我更加困惑。 当我在facebook登录时使用aws 用户登录。我获取令牌并传递用户信息 AWS cognito的代币 Cognito为我储存,每次我来 回到应用程序,我问Cognito“嘿,Cognito是我的代币还活着吗?”。白兰地 用facbook验证。如果是继续,则不要求用户进行身份验证 再一次。如上所述 我希望Azure也会有类似的行为,是吗?为什么在中告诉我需要通过提取

在我使用Aws Cognito之前,流程的工作原理很简单,但我无法理解Azure移动服务认证的好处。我跟着,但这让我更加困惑。 当我在facebook登录时使用aws

  • 用户登录。我获取令牌并传递用户信息 AWS cognito的代币
  • Cognito为我储存,每次我来 回到应用程序,我问Cognito“嘿,Cognito是我的代币还活着吗?”。白兰地 用facbook验证。如果是继续,则不要求用户进行身份验证 再一次。如上所述

    我希望Azure也会有类似的行为,是吗?为什么在中告诉我需要通过提取令牌模式来处理IsExpired

还有一个问题,Azure也在使用联邦身份,如果我理解的话,在Cognito上我可以看到用户。它们存储在azure中的何处,我可以以某种方式查看它们,还是需要存储自己

Azure移动服务中的身份验证流程是什么?如何处理社交代币

  • 移动客户端请求Azure移动前端(首次)

  • 它将重定向到社交平台,使用用户自定义信息登录

  • 如果它是有效的,那么身份提供者令牌将存储在

  • Azure将从身份提供商令牌获取用户ID或电子邮件信息,然后向移动客户端发出一个时间已过期的令牌,并将其存储在移动客户端中

  • 它们存储在azure中的何处,我可以以某种方式查看它们,还是需要存储自己

    我们可以从他那里得到答案。我们不需要自己储存

    在内部,所有这些令牌都存储在应用程序的本地文件存储中,位于D:/home/data/.auth/tokens下。令牌本身都使用特定于应用程序的加密密钥在特定于用户的.json文件中加密,并按照最佳实践进行加密签名。这是应用程序代码不需要担心的内部细节。只要知道他们是安全的

    正如你提到的,它是安全的,可以在我们可以的时候重复使用。根据我的经验,在客户机中存储令牌从未过期是不安全的

    参考文献:

    Azure移动服务中的身份验证流程是什么?如何处理社交代币

  • 移动客户端请求Azure移动前端(首次)

  • 它将重定向到社交平台,使用用户自定义信息登录

  • 如果它是有效的,那么身份提供者令牌将存储在

  • Azure将从身份提供商令牌获取用户ID或电子邮件信息,然后向移动客户端发出一个时间已过期的令牌,并将其存储在移动客户端中

  • 它们存储在azure中的何处,我可以以某种方式查看它们,还是需要存储自己

    我们可以从他那里得到答案。我们不需要自己储存

    在内部,所有这些令牌都存储在应用程序的本地文件存储中,位于D:/home/data/.auth/tokens下。令牌本身都使用特定于应用程序的加密密钥在特定于用户的.json文件中加密,并按照最佳实践进行加密签名。这是应用程序代码不需要担心的内部细节。只要知道他们是安全的

    正如你提到的,它是安全的,可以在我们可以的时候重复使用。根据我的经验,在客户机中存储令牌从未过期是不安全的

    参考文献:


    关于代币的文章很好。它让我明白了很多事情。只有一件事我必须亲自检查客户端的到期情况,或者当我请求登录时,azure返回一个错误,即它已过期,我需要调用一个刷新令牌而不重新签名用户?如果是azure存储提供商令牌已过期,则需要重新签名用户。如果azure issue to client令牌已过期,但azure中的提供商令牌未过期,则当客户端尝试连接到azure时,无需登录,但azure将向客户端发出新的azure令牌。关于令牌的文章很好。这让我明白了许多事情。只有一件事我必须亲自检查客户端的到期情况,或者当我请求登录时,azure返回一个错误,即它已过期,我需要调用一个刷新令牌而不重新签名用户?如果是azure存储提供商令牌已过期,则需要重新签名用户。如果azure issue to client令牌已过期,但azure中的提供商令牌未过期,则当客户端尝试连接到azure时,无需登录,但azure将向客户端发出新的azure令牌。