この記事の目次
OAuthとは?

OAuthの仕組み

OAuthのリスク
OAuthは、一度アクセストークンが提供されてしまえば、それを削除されるまでユーザーが操作することなく連携が認証されてしまいます。これを一般的なアプリである、「Twitter」と「偽の画像共有サービス」で考えてみましょう。 まずは、普通の画像共有サービスとして、Twitterの利用者にサービスに登録させ、画像共有サービスと連携するためにアクセストークンを要求します。 ユーザーは、画像共有サービスとTwitterが連携することで、画像共有サービスへ画像をアップするだけでTwitterへの投稿もできることになる利便性を受けるため、アクセストークンを承認します。 すると、そこからはアクセストークンを受け取っているため、勝手にメッセージを送信したり、ウィルスをダウンロードするページへのリンクをつぶやいたりできるようになります。 こういった事態を防ぐためにも、簡単にOAuthを許可してはいけないのです。サービスの内容を理解し、何の許可を求められているのか理解できない場合は、リスクを考えて拒否しなければなりません。SalesforceでのOAuthの範囲

Pardot(pardot_api)
ユーザーの代理となり、Pardot APIサービスへのアクセスを許可し、サービスを管理します。Chatter フィードへのアクセスと管理 (chatter_api)
ユーザーの代理となり、Connect REST APIリソースへのアクセスを許可します。フルアクセス(full)
ログインユーザーがアクセスできるすべてのデータへのアクセスを許可します。 これは、その他全ての範囲が対象となるため注意が必要です。SalesforceでのOAuth認証フロー

OAuth認証フロー
Salesforceモバイルアプリケーションを開き、ユーザー名とパスワードを入力する認証プロンプトを表示させます。すると、Salesforceモバイルアプリケーションがログイン情報をSalesforceに送信し、OAuth認証フローを始めます。 Salesforceは、ユーザーとモバイルアプリケーションの検証成功を確認するために、アクセストークンと更新トークンをモバイルアプリケーションへ送信します。 その後、モバイルアプリケーションにアクセス権を付与する要求を承認し、モバイルアプリケーションを起動することで終了します。 これらの操作からも分かるように、クライアントアプリケーションに対し、ユーザー名とパスワードを指定して、代わりにリソースサーバーにアクセスさせる方法よりも、OAuth認証の方がリスクは少なく、利便性も高いのです。OAuthでアプリケーションを連携させて効率化を!
