はい、これは何度も尋ねられています。 Google はをサポートしています。ただし、「オプション」とマークされている属性は無視されます。したがって、電子メールアドレスが必要な場合は、電子メールアドレスが必須の属性であると言わなければなりません。あなたがチェックしている
ClaimsResponse
拡張子はAXではありません - それは簡単な登録です。あなたがAXFetchAsSregTransform振る舞いを持っている場合しかし、それはあなただけの独占的ClaimsRequest
とClaimsResponse
を使用することができ、かつDotNetOpenAuthが自動的にあなたのための舞台裏AXにしてから変換します(強く推奨)オン。
また、あなたはGoogleに直接AXを話すFetchReqest
とFetchResponse
を使用することができます。
しかし、(と私は十分にこのハードハンマーできません)、ユーザーの一意の識別子として電子メールアドレスを使用しないでください!代わりに、IAuthenticationResponse.ClaimedIdentifier
文字列を一意の識別子として使用してください。電子メールアドレスは、一般的に、登録フォームの事前入力に使用できるヒントです。プロバイダーがあなたに嘘をつくことができるので、取得した電子メールアドレスが実際にユーザーの制御下にあることを信じるべきではありません(それが一意のIDと見なされるべきではない理由の1つです)。 GoogleとYahooは、電子メールアドレスが確認されたことを(信用することを選択した場合)約束する2つのプロバイダであるため、必要に応じてユーザーからの電子メールの確認手順を省略することができます。
私はopenautho dllでinculdedの簡単なコントロールを試しました。私はこれを試しました。http://www.midnightprogrammer.net/post/Extending-OpenID-Implementation-With-ASPNET-User-Information-Roles-and -Membership.aspx、さらにそのプロジェクトがnullになった場合でも、レスポンスによって返されたURLを使用することになっていますか、それはあなたの一意の識別子になります。 – nagates
今すぐ助けてくれる時間がないですが、http://test-id.org/をチェックしてください。本当にGoogleかどうか、またはあなたの最後に何かがあるかどうかをリクエストできます。 – Cameron
はい、あなた常に* IAuthenticationResponse.ClaimedIdentifierをユニークな識別子として使うべきです。 –