Force.comのOAuthに関するメモ その01

この記事は force.comのdeveloperforce TM*1に掲載されているUsing OAuth to Authorize External Applications*2のメモです。
この記事はあくまでもメモです。
著作者、および販売元の権利を侵害するものではありません。
なお、なにか不都合等がありましたら削除いたします。
法的手段に訴えないでください。*3
 
 
1.Abstract
外部WebアプリケーションからForce.comプラットフォーム上のデータにアクセスする手法。
OAuth 1.0aプロトコルを利用する。
ここではForce.comの機能にアクセスするためのリモートアクセスアプリケーションとGAE上で動くWebアプリを参照例として用いている。
 
2.What is OAuth?
OAuthに基本的概要に関する解説。
OAuthのWebサイトやドキュメント、ビギナーズ・ガイドへのリンクがある。
OAuthがよくわからない人は原文よりジャンプ。
そもそもOAuth知らない人は来ないでしょうから、華麗に割愛。
 
3.Why Should I Use OAuth?
OAuthの使用利点などに関する解説。
そもそもOAuth知ら(ry
 
4.Doing the OAuth Dance
ConsumerとSalesforce間のOAuthでのやりとり。
つまり、リクエストして、トークン発行して〜と言う流れを図解している。
画像をここにのっけるのは、問題になるかもしれないので、原文にジャンプするべし。*4
単純にトークンのみ取得したい場合*5、Authenticating Remote Access Application OAuthの方が役に立つと思われる。*6
こちらの方はいつか記事にするかもしれないし、個人的に必要としているのはこちらなんじゃないだろうかとか思う。が、気にしない。
要件ごとにステップバイステップの解説になっているので、かなりわかりやすい。
 
5.Setting up a Remote Access Application
Force.comに外部アプリケーションを登録し、公開鍵と秘密鍵を生成する際の解説。
ここで生成した鍵を使ってOAuthによる認証を行う。
この登録ではアプリケーションの識別子を確定させるだけでなく、コールバックするURL(リダイレクト先)なども設定する必要がある。
 
操作方法(設定画面までの道のり)
「 Setup -> Develop -> Remote Access -> New 」
 
各設定項目に関する抄訳
Application: アプリケーションの名前。その他の登録アプリケーションと被らないように。
Callback URL: 認証終了後にユーザーがリダイレクトされるURL。セキュアなURLでなければならない(例えばSSL)。
Logo Image URL: セキュアなURLを設定しなければならない(たぶん、設定しなくても良いと思う)。

登録に関する画像は原文に記載されているため割愛。
 
6.Configuring Data Security in Force.com
データへのアクセスにはWebサービスAPIを利用して行うことになる。
ただし、Force.comのsessionタイムによってエラーを発生する可能性があるため、オブジェクトやフィールドへのアクセスごとにINVALID_TYPEやINVALID_FIELDといったExceptionメソッドを明示しておいた方がいいとかなんとか。

*1:参考URL: developerforce TM

*2:Author: Jeff Douglas
原文URL: Using OAuth to Authorize External Applications

*3:Please do not appeal to legal measures!!
I do not want to be sent to jail, and am not rich either!!!

*4:画像だけのURL

*5:例えば、ログインガジェットのような?

*6:参考URL: Authenticating Remote Access Application OAuth