Please enable JavaScript.
Coggle requires JavaScript to display documents.
msal - Coggle Diagram
msal
协议流程
注册
-
-
-
-
nonce(必填)
应用程序生成的请求中包含的值,该值将作为声明包含在生成的id_token中。然后,该应用可以验证该值以减轻令牌重放攻击。该值通常是一个随机的,唯一的字符串,可用于标识请求的来源。仅在请求id_token时才需要。
prompt可选
指示所需的用户交互类型。此时唯一有效的值是“登录”,“无”,“ select_account”和“同意”。提示=登录将强制用户根据该请求输入其凭据,而无需单点登录。prompt = none是相反的-它将确保不会向用户显示任何交互式提示。如果无法通过单点登录静默完成请求,则Microsoft身份平台端点将返回错误。prompt = select_account将用户发送到一个帐户选择器,在该帐户选择器中将显示会话中记住的所有帐户。在用户登录后,提示=同意将触发OAuth同意对话框,要求用户向该应用授予权限。
-
domain_hint(可选)
如果包括在内,它将跳过用户在登录页面上进行的基于电子邮件的发现过程,从而使用户体验略为简化。这通常用于在单个租户中运行的“业务线”应用程序,它们将在给定租户中提供域名。这会将用户转发到该租户的联合身份验证提供程序。请注意,这将阻止来宾登录此应用程序。
成功请求
-
-
-
scope
如果response_type包含令牌,则包含。指示access_token对其有效的范围。如果它们不适用于用户,则可能不包括所有请求的范围(在使用个人帐户登录时仅请求Azure AD范围的情况下)。
id_token
签名的JSON Web令牌(JWT)。该应用程序可以对该令牌的各个段进行解码,以请求有关已登录用户的信息。该应用程序可以缓存值并显示它们,但它不应将它们用于任何授权或安全边界。有关id_tokens的更多信息,请参见id_token参考。注意:仅在请求openid范围时提供。
-
-
-
刷新令牌
隐式授予不提供令牌,id_token和access_token都将在短时间后到期,所以应用程序必须准备定期刷新这些令牌要刷新任意的令牌,你可以发送相同的隐藏窗口,使用hint=none参数来控制身份平台的行为。如果要接收新的id_token,请确保在response_type和scope = openid中使用id_token以及一个nonce参数。
发送退出请求
OpenID Connect end_session_endpoint允许你的应用向MS身份平台断电发送请求,结束用户会话并清除由MS省份平台断电设置的cookie。要使用户无安全退出web应用程序,应用应该结束自己与用户的会话,(一般是通过清除token缓存或者删除cookie),然后将浏览器重定向。
-
适用于OAuth2隐式授权
-
注意点
-
js应用可以通过另一种机制来更新访问令牌,无需反复提示用户输入凭据,应用程序可以使用隐藏的ifrme对授权终结点执行新的令牌请求,只要浏览器仍然对Azure AD域具有活动会话,身份验证请求就可以成功,无需用户交互。
ja程序可以独立更新访问令牌,甚至可以为新的api获取新的访问令牌,前提是用户先前同意了。用户可以使用在任何浏览器选项卡中运行的登录到AzureAD的任何应用程序从AzureAD注销。这将导致删除Azure AD会话cookie,并且JavaScript应用程序将自动失去为已注销用户续签令牌的功能。
-