拟人化的比喻:
用户需要访问一个外部程序,但外部该程序依赖Azure AAD识别该用户并告知用户的ID账号,流程是这样的:
1)用户访问外部程序的登录引导页面,程序将用户引导到一个AAD登录地址,在这个地址中,含有如果登录成功,AAD应该让用户访问外部程序的识别入口;
2)用户如果登录成功,则AAD会把用户引导去访问一个地址,这个地址即为外部程序识别入口,和一个临时编号(token)做为参数;
3)AAD引导后,用户访问了该地址,于是程序的识别入口会获得这个临时编号,然后做两个动作:1)凭该编号,从AAD取回用户的ID账号。2)把取回的用户的ID账号信息通过Session / Cookie绑定到用户,然后正式转入程序的业务处理部分。
上述几个步骤中,为了安全起见,在第一步中,AAD首先会确认该识别入口是注册过的,否则会拒绝认证,防止把临时编号给了不信任的识别入口。