首页 文章

Windows Server 2016 AD FS 4.0使用OAUTH JWT和共享密钥验证外部Web应用程序

提问于
浏览
0

我们正在尝试使用SaaS产品对在Windows Server 2016上运行的AD FS 4.0服务进行身份验证 .

使用JWT为Web应用程序设置Web应用程序,并允许我们设置 Shared SecretLogin URLLogout URL

我让应用程序重定向到AD FS登录屏幕https://hostname/adfs/oauth2/authorize并对活动目录进行身份验证 . 从那里它返回一个我知道需要转到https://hostname//adfs/oauth/token的代码值,但在这里我被卡住了 .

我是否需要构建一个Web服务,从授权 endpoints 接收代码,将其发布到令牌 endpoints ,然后使用JWT重定向回Web应用程序?或者如果我正确配置它,AD FS可以自己做吗?

我想要的是Web应用程序重定向到AD FS登录屏幕(完成),AD FS对AD(完成)进行身份验证然后(做魔术)并使用JWT重定向回Web应用程序 .

EDIT:

以下是我想要的Server 2016 AD FS 4.0 . 我是否需要创建自己的ADFS / AUTHORIZE-> code-> ADFS / TOKEN-> jwt->应用程序URL处理服务?

https://support.zendesk.com/hc/en-us/articles/203663816-Setting-up-single-sign-on-with-JWT-JSON-Web-Token-

UPDATE:

您似乎必须控制客户端应用程序,而当您使用第三方SaaS时则不然 . 因此,我们需要实施一个myapi .

  • SaaS重定向到/ adfs / oauth2 / authorize

  • AD FS重定向到/myapi/?code=ab2..3cf

  • myapi将 code 发布到/ adfs / oauth2 / token

  • AD FS响应包含JWT

  • myapi使用/?jwt = token重定向到SaaS

1 回答

  • 0

    此流程称为授权代码授权 .

    好图here .

    获取代码,将其发送到/ token endpoints ,获取访问令牌,将其发送到Authorization标头中的API .

    如果SaaS产品具有OpenID Connect堆栈,则应自动执行此操作 . SaaS产品需要推动流程 .

    Update:

    您需要对ADFS执行的唯一操作是配置它 . 无需编程 .

    您需要编写客户端代码 .

    客户端发送到/授权 endpoints .

    ADFS使用代码进行响应 .

    客户端将代码发送到/ token endpoints .

    ADFS以令牌响应 .

    客户端将令牌发送给API .

相关问题