我想在我的项目中实现openid connect。现在我很难为google创建发现网址 - https://accounts.google.com/.well-known/openid-configuration,对其他来源也是如此,然后进行此调用并获取所有相应来源的端点。 但我想让它充满活力。我在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"
}
]
}
我该怎么做这个电话。我应该把什么放在resouces,rel ??我是oauth过程的初学者。你能不能帮助我。
答案 0 :(得分:1)
很少有主要的IdP支持动态注册。他们似乎都希望您在网页上注册,您可以同意他们的使用条款。
mojeid.cz是我所知道的。如果你找到我想知道的其他人。我正在编写动态客户端。这很难。我计划在某个时候将它发布在GitHub上。 ..tom
答案 1 :(得分:0)
严格来说,动态注册不一定与Discovery一对一地结合,尽管通常情况下也是如此。
正如OP建议的那样,可以通过应用Webfinger Discovery来查找提供者的元数据,如下所述:http://openid.net/specs/openid-connect-discovery-1_0.html#IssuerDiscovery
请求和响应看起来已经在问题中显示,即:http://openid.net/specs/openid-connect-discovery-1_0.html#URLSyntax RP可以解析" hreft"来自响应的价值会给出发行人" value(即提供者的唯一DNS绑定标识符),然后构建众所周知的端点,其中可以从此处所述检索提供者的配置元数据:http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig
假设RP在先前的越界步骤中已经与该Provider建立了client_id
/ client_secret
,这可以避免RP必须存储和/或缓存提供者&# 39; s元数据。