4

OpenID Connect Discovery 1.0 仕様のセクションUser Input using E-Mail Address Syntax には、次の例があります。

  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 プロバイダー発行者がどこにあるかをどのように判断しますか? つまり、 OpenId Connect経由のログインを許可したい場合、OpenID パターンから OpenID 発行者への独自のマップを保持する必要がありますか?

4

2 に答える 2

2

OpenID Connect は OpenID 2.0 とは異なります。Yahoo は OpenID 2.0 をサポートしていますが、OpenID Connect + Discovery はまだサポートしていないため、404 です。200 OK を返すインターネット上の場所は次のとおりです。

curl -GLv https://seed.gluu.org/.well-known/webfinger \
    --data-urlencode "resource=acct:mike@seed.gluu.org" \
    --data-urlencode "rel=http://openid.net/specs/connect/1.0/issuer"
于 2014-12-08T07:43:16.623 に答える
1

WebFinger の仕様は比較的新しく、OpenID Connect はさらに新しいため、どちらもまだ広く展開されていません。私の個人アカウントから情報を取得できます。

$ curl https://packetizer.com/.well-known/webfinger?resource=acct%3Apaulej%40packetizer.com

私は OpenID Connect を (まだ) 実装していませんが、一般的な WebFinger クエリでテストしたい場合は、ping してください。テストしたいものをサーバーに出力させることができます。

于 2014-12-08T20:14:16.247 に答える