Windows Server 2016 AD FS 4.0 使用 OAUTH JWT 和共享密钥对外部 Web 应用程序进行身份验证
Windows Server 2016 AD FS 4.0 to Authenticate External Web Application with OAUTH JWT and Shared Secret
我们正在尝试获取 SaaS 产品以针对我们在 Windows Server 2016 上的 AD FS 4.0 服务 运行 进行身份验证。
Web 应用程序使用 JWT 为 SSO 设置,并允许我们设置 Shared Secret、Login URL 和注销URL
我让应用程序重定向到 AD FS 登录屏幕 https://hostname/adfs/oauth2/authorize and authenticate against active directory. From there it returns a code value that I know needs to go to https://hostname//adfs/oauth/token 但我卡住了。
我是否需要构建一个 Web 服务来从授权端点接收代码,将其发布到令牌端点,然后使用 JWT 重定向回 Web 应用程序?或者,如果我配置正确,AD FS 可以自己执行此操作吗?
我想要的是让 Web 应用程序重定向到 AD FS 登录屏幕(完成),AD FS 针对 AD 进行身份验证(完成)然后(做魔术)并使用 JWT 重定向回 Web 应用程序.
编辑:
以下是我想要的 Server 2016 AD FS 4.0。我是否需要创建自己的 ADFS/AUTHORIZE->code->ADFS/TOKEN->jwt->Application URL 处理服务?
更新:
看来您确实必须控制客户端应用程序,而当您使用第 3 方 SaaS 时并非如此。因此我们需要实现一个 myapi 这样的
- SaaS 重定向到 /adfs/oauth2/authorize
- AD FS 重定向到 /myapi/?code=ab2..3cf
- myapi 将
code
发布到 /adfs/oauth2/token
- AD FS 响应包含 JWT
- myapi 使用 /?jwt=token
重定向到 SaaS
此流程称为授权码授予。
好图here.
获取代码,将其发送到 /token 端点,获取访问令牌,将其发送到授权中的 API header。
如果 SaaS 产品有 OpenID Connect 堆栈,它应该会自动执行此操作。 SaaS 产品需要驱动流量。
更新:
您对 ADFS 唯一需要做的就是配置它。无需编程。
您需要编写客户端代码。
客户端发送到 /authorize 端点。
ADFS 响应代码。
客户端将代码发送到 /token 端点。
ADFS 使用令牌响应。
客户端将令牌发送到 API。
我们正在尝试获取 SaaS 产品以针对我们在 Windows Server 2016 上的 AD FS 4.0 服务 运行 进行身份验证。
Web 应用程序使用 JWT 为 SSO 设置,并允许我们设置 Shared Secret、Login URL 和注销URL
我让应用程序重定向到 AD FS 登录屏幕 https://hostname/adfs/oauth2/authorize and authenticate against active directory. From there it returns a code value that I know needs to go to https://hostname//adfs/oauth/token 但我卡住了。
我是否需要构建一个 Web 服务来从授权端点接收代码,将其发布到令牌端点,然后使用 JWT 重定向回 Web 应用程序?或者,如果我配置正确,AD FS 可以自己执行此操作吗?
我想要的是让 Web 应用程序重定向到 AD FS 登录屏幕(完成),AD FS 针对 AD 进行身份验证(完成)然后(做魔术)并使用 JWT 重定向回 Web 应用程序.
编辑:
以下是我想要的 Server 2016 AD FS 4.0。我是否需要创建自己的 ADFS/AUTHORIZE->code->ADFS/TOKEN->jwt->Application URL 处理服务?
更新:
看来您确实必须控制客户端应用程序,而当您使用第 3 方 SaaS 时并非如此。因此我们需要实现一个 myapi 这样的
- SaaS 重定向到 /adfs/oauth2/authorize
- AD FS 重定向到 /myapi/?code=ab2..3cf
- myapi 将
code
发布到 /adfs/oauth2/token - AD FS 响应包含 JWT
- myapi 使用 /?jwt=token 重定向到 SaaS
此流程称为授权码授予。
好图here.
获取代码,将其发送到 /token 端点,获取访问令牌,将其发送到授权中的 API header。
如果 SaaS 产品有 OpenID Connect 堆栈,它应该会自动执行此操作。 SaaS 产品需要驱动流量。
更新:
您对 ADFS 唯一需要做的就是配置它。无需编程。
您需要编写客户端代码。
客户端发送到 /authorize 端点。
ADFS 响应代码。
客户端将代码发送到 /token 端点。
ADFS 使用令牌响应。
客户端将令牌发送到 API。