0

在我使用 Aws Cognito 之前,流程的工作原理很简单,但我无法理解 Azure 移动服务身份验证的好处。我遵循了这个文档,但它让我更加困惑。当我将aws与facebook登录一起使用时。

  • 用户登录。我获取令牌和用户信息我将此令牌传递给 AWS cognito。
  • Cognito 为我存储它,每次我回到应用程序时,我都会问 Cognito “嘿 cognito 是我的令牌还活着”。Cognito 使用 facbeook 进行验证。如果是继续,则不再要求用户进行身份验证。如此处所述

    我预计 Azure 会出现类似的行为,这不会发生吗?为什么链接中告诉我需要通过提取令牌模式自己处理 IsExpired ?

还有其他问题,Azure 也使用联合身份如果我理解的话,在 Cognito 上我可以看到用户。它们存储在天蓝色的哪里,我可以以某种方式看到它们还是我需要自己存储?

4

1 回答 1

2

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

  1. 移动客户端请求 Azure 移动前端(第一次)

  2. 它将重定向到社交平台以使用用户自定义信息登录。

  3. 如果有效,则身份提供者令牌将存储在Azure 移动平台中

  4. Azure 将从身份提供者令牌中获取 userId 或电子邮件信息,然后向移动客户端发出一个过期的令牌,并将其存储在移动客户端中。

它们存储在天蓝色的哪里,我可以以某种方式看到它们还是我需要自己存储?

我们可以从App Service Token Store得到答案。我们不需要自己存储它。

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

正如您提到的link,它是安全的,可以在我们可以重复使用时重复使用。根据我的经验,将令牌存储在客户端中永不过期并不安全。

参考:

Azure App Service 身份验证/授权的体系结构

在此处输入图像描述

于 2017-11-10T08:20:12.687 回答