我想为企业客户使用 Microsoft SSO 对我的 Web 应用程序进行身份验证。但有些公司不希望用户点击确认登录的 Microsoft 页面。
如何配置 SSO(Saml 或 OpenId 或其他),以便当我将用户重定向到 microsoft 页面时,它将自动重定向回我的网站并提供适当的身份验证信息。显然,这假设他们已经登录并且仅使用一个用户 ID,但大多数情况下都是这种情况。
对于 OAuth 2.0 和 OpenID Connect (OIDC),您只需将
prompt=none
作为参数添加到身份验证请求中,即可尝试使用 SSO 进行静默登录。
例如:(直接取自 Microsoft 文档此处。)
// Line breaks for legibility only
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&response_type=id_token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&scope=openid
&response_mode=fragment
&state=12345
&nonce=678910
&prompt=none
请注意,如果您启用
prompt=none
,并且请求无法静默完成,身份平台将返回一个错误,您必须处理该错误,并使用例如 prompt=login
请求登录。