私は既存のアプリケーションのRESTレイヤーを実装しています。私は自分のユーザーIDとパスワードをデータベースに格納していると私は私のRESTサービスを呼び出している間、これらの資格情報を認証したいと思います。これはスタンドアロンアプリケーションであることに注意してください。OAuth 2.0 for REST Webサービス
調査の結果、私は2つの方法を考え出しました。
- このアプローチでは、 ユーザーIDとパスワードが渡されたことが、中間の攻撃でManによって改ざんされていないことが確認されます。
- 認証トークン(JWT)の使用 - ユーザーは最初にユーザーID を渡し、パスワードとサーバーは認証トークンを返します。ユーザー には、その後の 要求に使用できる認証トークンがあります。
- OAuth 2.0の使用 - 私はこのアプローチでは非常に混乱しています。ドキュメントや仕様を読んだ後、私は自分のアプリケーション がスタンドアロンであることから、私は認証サーバー、リソースを実装する必要があることがわかった サーバーなど私はここでのOAuthを実装するように求めていますが、私は確信していない
このシナリオではOAuthが必要です。私はちょうどJWT(トークン)を実装する方向に傾いています
OAuthは本当にこのシナリオで必須ですか? OAuthについて私が理解していることは、あなたがすでにFacebook/Googleのようなサービスを持っているときに使用されていることです。
私の考えの列が正しいかどうか、この場合OAuth 2.0が必要な場合は、誰かが確認できますか?
OAuth 2.0とJWTを一緒に使用できます(アクセストークンはJWTにすることができます)。それが混乱の原因であるかどうかは分かりませんが、心配するリソースが1つしかない場合、JWTがうまくいくように聞こえますか? – neverendingqs
また、「Googleでログイン」のようなものを実装するよう求められている場合は、 – neverendingqs
@neverendingqs製品は、「xyz」タスクを実行するスタンドアロンのエンタープライズ製品です。これらのタスクにREST APIを公開しています。私は "FacebookやGoogleでログイン"のようなものを持つことはできません。私はOauth2とJWTを一緒に使うことができますが、私の主な混乱はOAuth 2.0がこのシナリオに適しているかどうかです。 Oauth2を使用してデータベースに保存されているユーザーIDとパスワードを認証できますか?リソースサーバー、認証サーバーをどのように実装しますか? – Vishal