【问题标题】:Exchange SAML for JWT with AAD使用 AAD 将 SAML 交换为 JWT
【发布时间】:2020-06-24 23:03:58
【问题描述】:

我有一个允许用户使用 Azure AD 登录的内部应用。在认证时,会返回一个 SAML 断言。但是,应用程序进行的某些调用需要 JWT。当用户登录时,我获得 JWT 的最佳方式是什么?或者有没有办法让我将 SAML 换成 JWT?

【问题讨论】:

  • 由于这更多是与编程相关的问题,因此您很可能会得到堆栈溢出的答案
  • 你的问题太广泛了。

标签: authentication


【解决方案1】:

免责声明:我不是这方面的专家;我也在学习它,并为类似的问题而苦苦挣扎。也就是说,这是我的理解。

我很确定 SAML 和 JWT 之间没有任何联系。这并不奇怪,因为 SAML 2.0 可以追溯到 2005 年,而 JWT 是在 2012 年左右开始的。所以从逻辑上讲,SAML 规范不可能对 JWT 做任何说明。

如果我的理解是正确的,你有两种选择:

  • 不要直接使用 SAML。无需与 SAML IdP(身份提供者)交互,而是将 OpenID Connect 和 OAuth 2.0 与充当身份验证代理的提供者一起使用。将代理配置为充当您选择的 SAML IdP 的服务提供者。将您的应用程序配置为在身份验证代理上充当依赖方(我认为是 OAuth 术语?)。然后你的应用程序一直是 OAuth 2.0/OpenID Connect/JWT。您与 SAML 的唯一交互是配置身份验证代理。主要缺点是您现在必须选择身份验证代理和 SAML IdP 并为其付费。

  • 编写您自己的身份验证/授权服务以使用 SAML 断言并发出 JWT。无论如何,这可能是必要的,具体取决于您需要如何在 JWT 中表示授权信息。

【讨论】:

    猜你喜欢
    • 2019-02-02
    • 2014-10-12
    • 2013-06-28
    • 2019-10-22
    • 2017-05-09
    • 2012-11-20
    • 2020-12-12
    • 2019-06-03
    • 2020-10-17
    相关资源
    最近更新 更多