在 OpenID Connect Discovery 1.0 规范中,使用电子邮件地址语法的用户输入部分 他们有这个例子:
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"
}
]
}
我试过了
curl -GLv http://yahoo.com/.well-known/webfinger \
--data-urlencode "resource=acct:myrealname@yahoo.com" \
--data-urlencode "rel=http://openid.net/specs/connect/1.0/issuer"
我也试过
curl -GLv http://gmail.com/.well-known/webfinger \
--data-urlencode "resource=acct:myrealname@gmail.com" \
--data-urlencode "rel=http://openid.net/specs/connect/1.0/issuer"
在少数之中。但我得到的只是404 Not Found
。
也许我做错了什么,或者互联网上可能没有地方可以实际返回200 OK
上面示例中显示的内容。
我的问题是,给定一个 OpenID(我的意思是用户在这里输入的内容
),如何确定 OpenID Provider Issuer 在哪里?换句话说,如果我想允许通过OpenId Connect登录,我是否必须保留自己的从 OpenID 模式到 OpenID 颁发者的映射?