0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【備忘】(今更ながら)OAuthとは何か

Posted at

結論

Oauth=アクセス権限の委譲
OAuth認証=安全なアクセス許可

詳細

OAuthとは何か

OAuth(Open Authorization)は、ユーザーが自身のリソースやデータへのアクセス権限を他のアプリケーションに付与するためのオープンスタンダード。
これにより、ユーザーは安全かつ制御された方法で、自身のデータを他のアプリケーションと共有できます。

OAuthの動作原理

OAuthの動作は以下のステップで構成されいる

ステップ1: 認証リクエスト
ユーザーがリソースへのアクセスを要求すると、クライアントアプリケーションは認証サーバーにリクエストを送信実施。

ステップ2: ユーザーの認証
認証サーバーは、ユーザーにログインを要求し、アクセスを許可するかどうかを確認実施。

ステップ3: 認証トークンの発行
認証サーバーは、認証が成功した場合、クライアントアプリケーションにアクセストークンを発行。

ステップ4: アクセストークンの使用
クライアントアプリケーションは、アクセストークンを使用してリソースサーバーにアクセスし、ユーザーのリソースにアクセス。

OAuthのメリット・デメリット

メリット

1)セキュリティ向上:ユーザーが直接パスワードを第三者アプリケーションと共有する必要がないため、セキュリティが向上。

2)ユーザーの利便性:ユーザーは、既存の認証情報を使用して新しいアプリケーションに簡単にログイン可能。

3)権限の制御:ユーザーは、アプリケーションごとに異なるレベルのアクセス権限を与えることができ、データへのアクセスを細かく制御可能。

4)アクセストークンの有効期限管理:アクセストークンの有効期限を設定することで、セキュリティを強化し、不要なアクセス権限を排除できる。

5)標準化されたプロトコル:OAuthは広く採用されており、標準化されたプロトコルであるため、多くのプラットフォームやサービスで利用可能。

デメリット

1)複雑な実装:OAuthの実装は複雑であり、適切なセキュリティ対策を講じないと脆弱性が発生する可能性あり

2)認可サーバーへの依存:OAuthを使用する場合、認可サーバーがダウンした場合や不調な場合、アクセス権限の取得や更新ができなくなる可能性あり。

3)ユーザーのプライバシー懸念:アクセストークンの取り扱いに不注意な場合、ユーザーのプライバシーが損なわれる可能性あり。

4)フィッシングのリスク:OAuthの認証フローを模倣するフィッシング攻撃が存在し、ユーザーが偽の認証ページに誘導される可能性あり。

5)アクセストークンの不正利用:アクセストークンが盗まれた場合、悪意のある第三者がユーザーのデータにアクセスするリスクがある。

OAuthの実装例

具体的な例:GoogleのOAuth認証フロー

認証リクエスト
ユーザーがあるウェブアプリケーションにGoogleアカウントでログインしようとすると、ウェブアプリケーションはGoogleの認証サーバーにリダイレクトされた認証リクエストを送信実施

ユーザーの認証
Googleの認証サーバーは、ユーザーにGoogleアカウントでのログインを求めるページを表示します。ユーザーがGoogleの認証情報を入力してログインすると、認証サーバーはユーザーがアクセスを許可するかどうかを確認

認証トークンの発行
ユーザーがアクセスを許可すると、Googleの認証サーバーは認証トークンを生成し、それをウェブアプリケーションに送ります。このトークンには、ユーザーのアクセス許可情報が含まれている

アクセストークンの使用
ウェブアプリケーションは、受け取った認証トークンを使用して、ユーザーのGoogleアカウントにアクセス可能。
これにより、ウェブアプリケーションはユーザーのメールやカレンダーなどのGoogleサービスにアクセスできる。

補足

OAuthについての詳細は、下記情報が分かりやすいと思われる。
https://qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?