【问题标题】:How to use the OpenID Connect WebFinger Endpoint?如何使用 OpenID Connect WebFinger 端点?
【发布时间】:2018-04-17 06:15:06
【问题描述】:

阅读description here 上面写着:

WebFinger — 为给定用户启用 OpenID Connect 提供程序的动态发现,基于他们的电子邮件地址或其他一些信息。

谁能举例说明这是如何工作的(描述有点抽象)?

【问题讨论】:

    标签: http security oauth-2.0 openid-connect


    【解决方案1】:

    WebFinger 是在RFC7033 中定义的协议。 section 3.1中有完整的例子:

    3.1. OpenID Connect 的身份提供者发现

    假设 Carol 希望通过她访问的网站进行身份验证 OpenID 连接。她会向网站提供她的 OpenID 连接标识符,比如 carol@example.com。访问的网站 将执行 WebFinger 查询以查找 OpenID Connect 提供者。由于该站点只对一个特定链接感兴趣 关系,WebFinger 资源可能使用“rel”参数作为 在第 4.3 节中描述:

    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
    

    服务器可能会这样响应:

    HTTP/1.1 200 OK
    
     Access-Control-Allow-Origin: *
     Content-Type: application/jrd+json
    
    {
    
       "subject" : "acct:carol@example.com",
       "links" :
       [
         {
           "rel" : "http://openid.net/specs/connect/1.0/issuer",
           "href" : "https://openid.example.com"
         }
       ]
     }
    

    由于“rel”参数仅用于过滤链接关系 由资源返回,响应中的其他名称/值对, 包括任何别名或属性,将被返回。另外,由于 不保证支持“rel”参数,客户端必须 不要假设“链接”数组将只包含请求的链接 关系。

    【讨论】:

    • 这只是一个插图还是一个真实的规格?
    猜你喜欢
    • 2018-04-17
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 2015-04-23
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    相关资源
    最近更新 更多