OIDC Device Flow设备模式登录流程

OIDC协议支持的模式中,专有一类Device Flow设备模式,允许各类终端或硬件,通过IDaaS完成登录流程。​

由于终端的显示模式可能受限,无法内置登录页面,OIDC设备模式将用户的登录流程与设备分开,允许用户使用外部浏览器,完成登录。​

说明

本文档讲解OIDC设备模式的场景与流程,详细接口文档请参考:OIDC Device Flow接口说明。

系统间时序图如下:

时序图

步骤一、登录准备

登录准备阶段无需用户参与,终端或设备与IDaaS进行交互,获取到用户口令user_code,设备口令device_code,登录地址verification_url。​

其中,用户口令和登录地址需要展示给用户,并请用户在任意浏览器中打开登录地址,输入用户口令,进行登录流程。

image.png

说明

若设备允许,可以将用户口令拼接在登录地址:{{verification_url}}?user_code={{user_code}},并提供超链接,或生成为二维码。用户在访问该地址时,将无需手动输入user_code,省时便捷。

在获取到上述信息后,终端应开始到IDaaS的轮询请求,获取登录结果。

步骤二、浏览器登录授权

用户打开登录地址verification_url后,将按照下图顺序进行操作,完成登录。

image.png

登录成功后,用户可切换回终端/设备查看结果。终端/设备发起的轮询将会返回认证成功信息,其中包含用户的id_token。​

可以使用IDaaS OIDC应用中提供的JWKS端点,获取应用的公钥信息,并使用公钥进行验签,确定登录有效,拿到用户标识,顺利登录。