【问题标题】:Exchanging azure AD token with Identity server token将 Azure AD 令牌与身份服务器令牌交换
【发布时间】:2022-01-08 08:44:09
【问题描述】:

我有一个由移动应用程序(flutter)、api 1 和 api 2 组成的架构。api 2 由身份服务器 4 保护。我的场景是移动应用程序需要通过 azure ad 目录对用户进行身份验证。在移动应用程序中获取 azure 广告令牌后,我不知道如何将其与当前用于保护我的 api 2 的身份服务器 4 令牌进行交换。我当前的解决方法实施是通过使用颤振 appauth 打开身份服务器 4 来完成的登录屏幕,它将用户重定向到 azure 广告登录。用户登录后,身份服务器 4 会将可用于访问 api 2 的访问令牌返回给我的移动应用程序。一般来说,我的移动应用程序会在请求期间将令牌传递给 api 1,将 api 1 传递给 api 2。只是想知道这个架构有什么问题吗?因为最近我从链接http://docs.identityserver.io/en/latest/topics/extension_grants.html 遇到了身份服务器4 中的扩展授权。从技术上讲,我应该通过 Flutter appauth 获取 azure 广告令牌并将其传递给 api 1,然后 api 1 将其与 api 2 交换以获取上面扩展授权文档中显示的访问令牌。我可以知道我应该更改我当前现有的解决方法架构吗?

【问题讨论】:

    标签: flutter authentication azure-active-directory identityserver4


    【解决方案1】:

    您应该让您的移动应用程序和 API 以及 Web 应用程序都使用 IdentityServer。然后通过 IdentityServer 登录 AzureAD。

    就像这张图片试图展示的那样:

    【讨论】:

    • 您好,感谢您的建议。是的,目前我让我的手机打开浏览器,它将使用身份服务器登录,我们提示用户 azure 广告登录页面让用户登录。
    • 我的意思是更容易让用户通过 IdentityServer 向 Azure AD 进行身份验证,以便 AzureAD 向 IdentityServer 发出令牌,而您的客户端/移动设备只信任 IdentityServer 而不知道 AzureAD跨度>
    • 是的,你是对的。抱歉,我的句子没有正确表达我想说的话。
    • 那么,你的问题是什么?还是我应该澄清一些事情?
    • 我想知道如果我要实现委托授权方法,我的身份服务器如何验证不是自己发出的访问令牌?
    猜你喜欢
    • 2020-03-17
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 2021-10-09
    • 2014-12-01
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多