我们正在尝试让SaaS产品根据Windows Server 2016上运行的AD FS 4.0服务进行身份验证。
web应用程序是使用JWT为SSO设置的,允许我们设置 共享机密 ,则, 登录URL 和 注销URL
我让应用程序重定向到AD FS登录屏幕 https://hostname/adfs/oauth2/authorize 并根据active directory进行身份验证。从那里它返回一个我知道需要转到的代码值 https://hostname//adfs/oauth/token 但我被困在这里了。
我是否需要构建一个web服务,从授权端点接收代码,将其发布到令牌端点,然后使用JWT重定向回web应用?或者,如果我正确配置AD FS,它可以自己完成吗?
我想要的是,web应用程序重定向到AD FS登录屏幕(完成),AD FS根据AD进行身份验证(完成),然后使用JWT重定向回web应用程序。
编辑:
以下是我对Server 2016 AD FS 4.0的要求。我是否需要创建自己的ADF/授权->代码->ADF/代币->jwt->应用程序URL处理服务?
https://support.zendesk.com/hc/en-us/articles/203663816-Setting-up-single-sign-on-with-JWT-JSON-Web-Token-
更新时间:
看起来您必须控制客户端应用程序,但在使用第三方SaaS时,情况并非如此。因此,我们需要实施 myapi 这样。
code
此流程称为授权代码授予。
良好的图表 here 。
获取代码,将其发送到/令牌端点,获取访问令牌,将其发送到授权标头中的API。
如果SaaS产品有一个OpenID连接堆栈,它应该自动执行此操作。SaaS产品需要驱动流程。
使用ADFS唯一需要做的就是配置它。无需编程。
您需要对客户端进行编码。
客户端发送到/授权终结点。
ADFS用代码响应。
客户端将代码发送到/令牌端点。
ADFS使用令牌进行响应。
客户端向API发送令牌。