我正在设计一个OIDC依赖方(SP),它应该可以与大多数流行的OIDC提供者(IDPs)协同工作。我还请求允许对非web应用程序的客户端进行身份验证和授权。如果客户端中没有浏览器,是否建议使用OIDC?对于这种情况,最推荐的流程是什么?大多数IDPs是否支持这样的流(没有浏览器)?
发布于 2020-03-17 16:17:37
许多OpenID连接提供程序使用某种形式的"Device Flow“
这是一个https://auth0.com/blog/oauth-device-flow-no-hassle-authentication-as-seen-on-tv/示例
在谷歌上搜索设备流,你可以找到很多。
发布于 2020-06-20 05:18:55
有一个关于客户端发起的反向认证(https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html)流(CIBA)的规范草案。
这将在没有浏览器的设备上工作。实际上,客户端发出身份验证请求,OpenID提供商(OP)使用身份验证设备(AD) (通常是智能手机)进行身份验证。
当用户通过身份验证时,客户端通过轮询、ping或推送的方式接收令牌。
从文档中看流程是这样的.
CIBA轮询模式如下图所示:
+--------+ +--------+
| | | |
| |<---(1) CIBA Request-------------------------->| |
| | | |
| | +--------+ | |
| | | | | |
| Client | | AD |<--(2) User interactions---------->| OP |
| | | | | |
| | +--------+ | |
| | | |
| |----(3a) CIBA Polling Request----------------->| |
| |<---(3b) CIBA Polling Response-----------------| |
| | ... | |
| |----(3a) CIBA Polling Request----------------->| |
| |<---(3b) CIBA Polling Response-----------------| |
| | | |
+--------+ +--------+
CIBA Ping模式如下图所示:
+--------+ +--------+
| | | |
| |<---(1) CIBA Request-------------------------->| |
| | | |
| | +--------+ | |
| | | | | |
| Client | | AD |<--(2) User interactions---------->| OP |
| | | | | |
| | +--------+ | |
| | | |
| |<---(3) CIBA Ping Callback---------------------| |
| | | |
| |----(4a) CIBA Token Request------------------->| |
| |<---(4b) CIBA Token Response-------------------| |
+--------+ +--------+
CIBA推送模式如下图所示:
+--------+ +--------+
| | | |
| |<---(1) CIBA Request-------------------------->| |
| | | |
| | +--------+ | |
| | | | | |
| Client | | AD |<--(2) User interactions---------->| OP |
| | | | | |
| | +--------+ | |
| | | |
| |<---(3) CIBA Push Callback---------------------| |
| | | |
+--------+ +--------+
https://stackoverflow.com/questions/60711729
复制相似问题