User Agent Flow - Implicit Grant - PKCE

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/23

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

24 Terms

1
New cards

フローの名称

OAuth 2.0 ユーザーエージェントフロー (Implicit Grant)

2
New cards

目的

デスクトップやモバイルアプリがブラウザ経由で Salesforce API へのアクセスをユーザーに許可させるため

3
New cards

主なステップ

(1) クライアントアプリがユーザーを認可 URL にリダイレクト (2) ユーザーがログイン&同意 (3) Salesforce がアクセストークンを URI フラグメントで返す (4) アプリがトークンを取得して API 呼び出し

4
New cards

response_type パラメータ

常に "token" を指定。これによりアクセストークンが直接返される

5
New cards

リダイレクト URI 要件

Salesforce Connected App に登録済みであること。呼び出しと完全一致が必須

6
New cards

アクセストークンの受け渡し方式

リダイレクト URI の URL フラグメント (#access_token=…) を使ってクライアントサイドで取得

7
New cards

セキュリティ上の制限

クライアントシークレット不要だが、アクセストークンはリフレッシュトークンが得られず、露出リスクあり

8
New cards

主な利用シーン

単発の操作/短命セッションのモバイルまたはデスクトップアプリ

9
New cards

アクセストークンの有効期限

通常数分~1時間程度(Salesforce の設定による)

10
New cards

リフレッシュ トークン

implicit flow では発行されず、再認可が必要

11
New cards

エラー処理

認可拒否やリクエスト不備時、redirect URI に error=、error_description= が返る

12
New cards

ブラウザコンテキスト

外部ブラウザまたはアプリ内埋め込みブラウザが必要

13
New cards

Connected App 側で許可すべき設定

OAuth スコープ(例:api, refresh_token は不可)、callback URL、セキュリティポリシーのユーザー許可設定。

14
New cards

同じフローと他の OAuth フローとの違い

Web Server Flow:authorization code ベースでセキュリットキー必須。より安全だがサーバー実装が必要 / JWT Bearer Flow:サーバー間通信向け。ユーザー介在不要 / Client Credentials Flow:サーバ同士。ユーザー認可不要

15
New cards

利点

実装が簡単でクライアントシークレット不要

16
New cards

欠点

トークン漏洩リスクやリフレッシュ不可、短寿命、スコープ制限

17
New cards

推奨場面

モバイル/デスクトップアプリで短時間のアクセス用途

18
New cards

非推奨場面

長期セッションや高セキュリティ環境

19
New cards

Implicit Grantでは

  • 認可コードのステップを省略して

  • アクセストークンを直接、URL のフラグメント(#access_token=...)として受け取ります

20
New cards

通常の「Authorization Code Grant(認可コードフロー)」では

  • 認可コード(短いコード)をまず受け取る

  • そのコードを使ってサーバーからアクセストークンを取得する

21
New cards

For increased security, Salesforce recommend using________ instead of the user-agent flow

OAuth 2.0 web server flow with Proof Key for Code Exchange (PKCE)

22
New cards

一言で言うとPKCE は

盗まれた認可コードが悪用されないようにする「証明キー付き認可コードフロー」です

23
New cards

PKCE仕組み(簡略): ステップ 1:認可リクエスト時

  • アプリはランダムな文字列(code_verifier)を生成

  • それをハッシュ化(SHA-256)して code_challenge に変換

  • code_challenge を URL に含めて Salesforce に送る

24
New cards

PKCE仕組み(簡略): ステップ 2:トークンリクエスト時

  • アプリは最初の code_verifier を送信

  • Salesforce は、最初にもらった code_challenge と一致するか確認

  • 一致したらアクセストークンを発行