В OpenID Connect Discovery 1.0 спецификации, раздел User Input using E-Mail Address Syntax они имеют следующий пример:Discover OpenID Connect Provider Эмитент
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:[email protected]",
"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:[email protected]" \
--data-urlencode "rel=http://openid.net/specs/connect/1.0/issuer"
Я также попытался
curl -GLv http://gmail.com/.well-known/webfinger \
--data-urlencode "resource=acct:[email protected]" \
--data-urlencode "rel=http://openid.net/specs/connect/1.0/issuer"
среди немного. Но все, что я получаю, это 404 Not Found
.
Возможно, я делаю что-то не так, или может быть не место в Интернете, которое фактически вернет 200 OK
, показанный в приведенном выше примере.
Мой вопрос, дается OpenID (я имею в виду то, что пользователь здесь
), как определить, где OpenID Provider Эмитент? Другими словами, если я хочу разрешить логины через OpenId Connect, то у меня есть, чтобы сохранить мою собственную карту от шаблонов OpenID до эмитентов OpenID?
Это работает! Теперь, поскольку это, похоже, единственное место, которое реализует OpenId Connect Discovery, как я должен обрабатывать обнаружение? Моя собственная таблица поиска? –
можно реализовать функциональное OpenID Connect Discovery без части webfinger: просто спросите пользователя о доменном имени вместо имени учетной записи/имени пользователя и вытащите метаданные OpenID Connect непосредственно из https: // /.well-known/openid-configuration; существует довольно много реализаций OpenID Connect, которые соответствуют этому; это менее гибкий wrt. привязка между пользователями и доменами, и пользователь должен знать домен для OP, который делает его более сложным; например для выбора Google нужно было бы ввести «accounts.google.com»; вы можете предложить большие потребительские OP в выпадающем меню –