Oauth 如何动态发现端点

Oauth 如何动态发现端点,oauth,openid,openid-connect,Oauth,Openid,Openid Connect,我想在我的项目中实现openid连接。现在,我正在硬编码发现url,比如google-,其他源的url,然后进行此调用并获取所有相应源的端点。 但我想让它充满活力。我在openid.net上找到了一些东西 GET /.well-known/webfinger ?resource=acct%3Ajoe%40example.com &rel=http%3A%2F%2Fopenid.net%2Fspecs%2Fconnect%2F1.0%2Fissuer HTTP/1.

我想在我的项目中实现openid连接。现在,我正在硬编码发现url,比如google-,其他源的url,然后进行此调用并获取所有相应源的端点。 但我想让它充满活力。我在openid.net上找到了一些东西

GET /.well-known/webfinger
    ?resource=acct%3Ajoe%40example.com
    &rel=http%3A%2F%2Fopenid.net%2Fspecs%2Fconnect%2F1.0%2Fissuer
    HTTP/1.1
  Host: example.com

  HTTP/1.1 200 OK
  Content-Type: application/jrd+json

  {
   "subject": "acct:joe@example.com",
   "links":
    [
     {
      "rel": "http://openid.net/specs/connect/1.0/issuer",
      "href": "https://server.example.com"
     }
    ]
  }

我怎么打这个电话。我应该在资源中放置什么,对吗??我是oauth过程的初学者。你能帮我一下吗。

很少有主要的IDP支持动态注册。他们似乎都希望你在一个网页上注册,在那里你可以同意他们的使用条款

我知道mojeid.cz就是这样一个。如果你找到其他我想知道的人


我现在正在编写动态客户端。这很难。我确实计划在某个时候将其发布到GitHub上。…严格来说,动态注册不一定与发现一对一耦合,尽管通常是这样

正如OP所建议的,可以通过应用Webfinger发现来查找提供者的元数据,如中所述:

请求和响应看起来与问题中已经给出的一样,即:RP可以从将给出“颁发者”值的响应中解析“hreft”值(即提供商的唯一DNS绑定标识符)然后构建众所周知的端点,从中可以检索提供者的配置元数据,如下所述:

假设RP已经在先前的越界步骤中与该提供商建立了
客户机id
/
客户机机密
,这可以避免RP必须存储和/或缓存提供商的元数据