Ole*_*Ole 5 security http oauth-2.0 openid-connect
阅读这里的描述,它说:
\n\n\n\n\nWebFinger \xe2\x80\x94 根据给定用户的电子邮件地址或其他一些信息启用 OpenID Connect 提供程序的动态发现。
\n
有人可以举例说明它是如何工作的(描述有点抽象)吗?
\nWebFinger 是RFC7033中定义的协议。3.1节中有一个完整的例子:
3.1. OpenID Connect 的身份提供商发现
假设 Carol 希望使用 OpenID Connect 对她访问的网站进行身份验证。她会向网站提供她的 OpenID Connect 标识符,例如 carol@example.com。访问的网站将执行 WebFinger 查询来查找 OpenID Connect 提供商。由于站点仅对一种特定链接关系感兴趣,因此 WebFinger 资源可能会使用第 4.3 节中所述的“rel”参数:
Run Code Online (Sandbox Code Playgroud)GET /.well-known/webfinger?
resource=acct%3Acarol%40example.com&
rel=http%3A%2F%2Fopenid.net%2Fspecs%2Fconnect%2F1.0%2Fissuer
HTTP/1.1
Host: example.com
Run Code Online (Sandbox Code Playgroud)
服务器可能会这样响应:
Run Code Online (Sandbox Code Playgroud)HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/jrd+json
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud){
"subject" : "acct:carol@example.com",
"links" :
[
{
"rel" : "http://openid.net/specs/connect/1.0/issuer",
"href" : "https://openid.example.com"
}
]
}
Run Code Online (Sandbox Code Playgroud)
由于“rel”参数仅用于过滤资源返回的链接关系,因此将返回响应中的其他名称/值对,包括任何别名或属性。此外,由于不能保证对“rel”参数的支持,因此客户端不得假设“links”数组将仅包含所请求的链接关系。