1

私は e コマース Web サイトを運営しており、Web サイトをよりアクセスしやすくしたいと考えています。そのため、ソーシャル メディア プロファイルの一部を使用してログインできるように、OAuth を使用することを考えています。私はまた、電子メールやその他の方法で顧客に多くのマーケティング キャンペーンを送信します。そのため、ユーザーがサインアップした時点で、電子メールや職業に関する詳細 (製品に関連するものではありません) などの情報が得られます。私がおせっかいではないのでご心配なく!)。

ユーザーが OAuth を使用してサインインする場合、サインアップ フォームを使用する必要がないため、電子メールなどの基本的な情報の一部を私に提供することはありません。

では、OAuth を実装するときに、ユーザーに関してデータベースに保存できるデータを知りたいですか? 現時点では、たとえば、私のウェブサイトのすべてのユーザーにニュースレターを送信できますが、OAuth を使用すると、このようなことは可能ですか? ユーザーが OAuth を使用してサインインしている場合、ユーザーごとにどのような情報にアクセスできますか?

これらの質問が他の場所で回答されている場合は申し訳ありません。検索しようとしましたが、会社が得られるものについて何も見つかりませんでした。基本的なコーディングの観点とユーザーの観点からの長所と短所しか見つけられませんでした。ビューの。

ありがとう!

4

1 に答える 1

0

OAuth 2.0 の標準化された拡張プロファイルである OpenID Connect を使用すると、サードパーティ プロバイダーを通じてユーザーを認証できます。また、ログイン セマンティクスを提供する OAuth 2.0 の独自の拡張機能を作成したプロバイダーも多数ありますが、それらは標準化されておらず、クライアント コードはこれらの独自の拡張機能のそれぞれを処理する必要があります。ログインに独自の OAuth 2.0 拡張機能を使用するすべてのプロバイダーは、将来的に OpenID Connect に移行することが予想されます。

OpenID Connect (および独自の OAuth 2.0 拡張プロトコル) は、ユーザーを認証するだけでなく、クレーム (または属性) の形式でユーザー ID 情報も提供します。したがって、ユーザーがクライアントに提供することに同意した場合にのみ、探している基本情報 (電子メールなど) を提供します。その情報を使用して、オフライン アクセス用にデータベースに保存できます。

OpenID Connect の利点は、多くの基本的なクレームが標準化されているため、ユーザー情報を処理するときにコードがプロバイダーに依存しないようになることです。http://openid.net/specs/openid-connect-core-1_0.html#StandardClaimsを参照してください。独自の OAuth 2.0 ログイン プロトコルは標準化されたクレームを提供しないため、プロバイダーごとにカスタム処理 (マッピング/変換) が必要です。

于 2015-01-07T10:17:25.193 に答える