1

私は自分のサイトに Google と Facebook の OAuth2.0 を含めています。私はそれを機能させたので、登録フォームに名、姓、電子メールが事前に入力されます(パスワードは手動で入力する必要があります)。ここで、ユーザーがパスワードを入力せずにログイン/登録できるようにしたいと考えています。前述したように、OAuth から問題なく電子メール アドレスを取得できますが、データベースに空のパスワード フィールドを設定できないため、パスワードとして何を使用すればよいかわかりません (その後、パスワードなしでユーザーの電子メールを入力してログインできます)。

私のデータベースでは、電子メールとパスワードのフィールドをチェックしています (単純なログイン)。

OAuthアイコンをクリックするだけで後でログインできるように、ユーザーをOAuth(パスワードフィールドに何を入力するか)に登録するにはどうすればよいですか?

ユーザー固有で公開されていないキーはありますか?

4

1 に答える 1

0

OAuth の本当の意味を理解していないと思います。

OAuth は認証レイヤーを作成し、クライアントの役割をリソース所有者の役割から分離します。クライアント アプリケーションは、ユーザーによって提供されたオーソリゼーションの後、リソース所有者によって制御されるリソースにのみアクセスします。

セキュリティ上の目的で、保護されたリソースにアクセスするためのリソース所有者の資格情報として、クライアントはアクセス トークン (特定のスコープ、有効期間、およびその他のアクセス属性を示す文字列) を取得します。

アクセス トークンは、ユーザーの承認を得て、承認サーバーによってサードパーティ クライアントに発行されます。クライアントは、アクセス トークンを使用して、リソース オーナー サーバーがホストする保護されたリソースにアクセスします。

RFC 6749 によると:

The authorization server MUST NOT issue client passwords or other
client credentials to native application or user-agent-based
application clients for the purpose of client authentication.  The
authorization server MAY issue a client password or other credentials
for a specific installation of a native application client on a
specific device.

したがって、パスワードは必要ありません

于 2013-03-11T12:15:14.490 に答える