OpenIDを利用して、Google経由で自分のWebサイトにログインできるようにしようとしています。最終的には訪問者が使用するようになりますが、今のところ、自分のログインのみを確認するためにGoogleとしてハードコーディングされています。
私のコードは次のようになります:
var openId = new OpenIdRelyingParty();
// If we have no response, start
if (openId.Response == null)
{
// Create a request and send the user off
openId.CreateRequest("https://www.google.com/accounts/o8/id").RedirectToProvider();
}
else
{
// We got a response - check it's valid
if (openId.Response.Status == AuthenticationStatus.Authenticated
&& openId.Response.ClaimedIdentifier == "blah_blah")
{
}
}
今、私はいくつかの質問があります:
これを一度実行して、ClaimedIdentifierをキャプチャし、そこに配置しても安全ですか。それはいつも同じでしょうか?
そこにハードコーディングしても安全ですか(秘密ですか?ユーザーがそれを見た場合、それは何かを損なうでしょうか?ユーザーはこれを偽造できますか?GoogleだけがURLで始まるClaimedIdentifiersを引き起こすことができますか?)
ドキュメントを試しましたが、ドキュメントが少しまばらで、これらの質問に対する回答を見つけるのに問題があります。
**編集:**私は自分の質問に答えたかもしれません。ウェブサイトでメタタグ(openid.delegate)を使用して、ログインに厄介なGoogle URLの代わりにブログURLを使用できるようにしました。Google経由でログインすると、ブログURLとしてClaimedIdentifierが返されます。これにより、誰でも私のログインページにアクセスして、自分のGoogleアカウントとしてログインすると、自分のClaimedIdentifierを使用してブログに戻ることができると思います。
- ClaimedIdentifierが非常に簡単に偽造されているように見える場合、どのようにユーザーを検証する必要がありますか?