Hueniverse: Beginner’s Guide to OAuth – Part II – 俺約

時々修正。 

Beginner’s Guide to OAuth – Part II

Protocol Flow

OAuth is best explained with real-life examples. The specification includes in Appendix A a similar example but focuses on the HTTP calls syntax. This walkthrough demonstrates a typical OAuth session and includes the perspectives of the User, Consumer, and Service Provider. The websites and people mentioned are fictional. The Scottish references are real. And so our story begins…

 (OAuthは実際の例で示すとわかりやすいです。Appendix Aに同じような例がありますが、ここではHTTP呼び出しシンタックスにフォーカス。典型敵なOAuthセッションでユーザー、コンシューマー、サービスプロバイダーの視点を含んだデモです。)

Flow1g

Jane is back from her Scotland vacation. She spent 2 weeks on the island of Islay sampling Scotch. When she gets back home, Jane wants to share some of her vacation photos with her friends. Jane uses Faji, a photo sharing site, for sharing journey photos. She signs into her faji.com account, and uploads two photos which she marks private.(Janeはスコットランド旅行から帰ってきました。2週間をアイラ島ですごしてスコッチをテースティングしてきました。家に帰ると休暇中の写真を友達に見せたくなりました。彼女はFajiという写真共有サイトを使って旅行の写真を共有しようとしています。faji.comにサインインして2枚の写真をプライベートにマークしてアップロードしました。)

Using OAuth terminology, Jane is the User and Faji the Service Provider. The 2 photos Jane uploaded are the Protected Resources.

(OAuth用語ではJaneはユーザーで、Fajiはサービスプロバイダーです。Janeがアップした2枚の写真はプロテクテッド・リソースといいます。)

Screen1

After sharing her photos with a few of her online friends, Jane wants to also share them with her grandmother. She doesn’t want to share her rare bottle of Scotch with anyone. But grandma doesn’t have an internet connection so Jane plans to order prints and have them mailed to grandma. Being a responsible person, Jane uses Beppa, an environmentally friendly photo printing service.(Janeはネットの友達数人に写真を共有した後で、自分のおばあちゃんにも見せたくなりました。彼女は珍しいスコッチのボトルを誰とも共有したくなかったのです。けれどもおばあちゃんはネットにアクセスできません。そこでJaneは写真を印刷して郵送することにしました。責任感のある人間としてJaneはBeppaを使います。これは環境にやさしい写真印刷サービスなのです。)

Using OAuth terminology, Beppa is the Consumer. Since Jane marked the photos as private, Beppa must use OAuth to gain access to the photos in order to print them.

(OAuth用語ではBeppaはコンシューマ。Janeは写真をプライベートとしたので、Beppaは写真を印刷するためにOAuthを使ってアクセス権を取得します)

Jane visits beppa.com and begins to order prints. Beppa supports importing images from many photo sharing sites, including Faji. Jane selects the photos source and clicks Continue.(Janeはbeppa.comに行って印刷をオーダーしました。Beppaは多くの写真共有サイトのイメージをインポートすることができます。Fajiもそれに含まれます。Janeは写真を選んで"Contineu" をクリックしました。)

Screen2

When Beppa added support for Faji photo import, a Beppa developer known in OAuth as a Consumer Developer obtained a Consumer Key and Consumer Secret from Faji to be used with Faji’s OAuth-enabled API.

(BeppaがFajiの写真のインポートをサポートしたときに、Beppaの開発者、彼はOAuthでは"コンシューマーデベロッパー"と呼ばれますが、"コンシューマーシークレット"をFajiから取得したので、Fajiが提供しているOAuth APIを使うことができるのです)

After Jane clicks Continue, something important happens in the background between Beppa and Faji. Beppa requests from Faji a Request Token. At this point, the Request Token is not User-specific, and can be used by Beppa to gain User approval from Jane to access her private photos.

(JaneがContinueをクリックするとBeppaとFajiの間でなにやら重要なことが見えないところでおきています。BeppaはFajiから"リクエストトークン"を要求します。このとき、リクエストトークンは個別のユーザーごとではなく、Beppaがそれを使ってJaneのプライベート写真をアクセスするユーザー承認をJaneから取得するために使います)

Flow2g

Jane clicked Continue and is now waiting for her screen to change. She sips from her prized Black Bowmore while waiting for the next page to load.(JaneはContinueをクリックして画面が変わるのを待っています。彼女はBlack Bowmoreをすすりながら次のページがロードされるのを待っています)

When Beppa receives the Request Token, it redirects Jane to the Faji OAuth User Authorization URL with the Request Token and asks Faji to redirect Jane back once approval has been granted to http://beppa.com/order.

(Beppaがリクエストトークンを取得すると、そのトークンを添えてFajiのOAuthユーザー認可URLにリダイレクトします。Fajiには彼女が許可したらBeppaに戻ってくるようにお願いしておきます)

Jane has been redirected to Faji and is requested to sign into the site. OAuth requires that Service Providers first authenticate the User, and then ask them to grant access to the Consumer.

(JaneはFajiにリダイレクトされて、サイトにサインインするように要求されます。OAtuhはサービスプロバイダーに対してまずユーザーを認証するように求めます。そして、ユーザーがコンシューマーに対してアクセスを許可するかどうかをたずねます)

Jane notices she is now at a Faji page by looking at the browser URL, and enters her username and password.(Janeはいま自分がFajiのページにいることを気がつきました。ユーザー名とパスワードを入力します)

Screen3

OAuth allows Jane to keep her username and password private and not share them with Beppa or any other site. At no time does Jane enters her credentials into beppa.com.

(OAuthではJaneは自分のユーザー名とパスワードを秘密にしたままBeppaや他のサイトに共有する必要がありません。beppa.comで自分のクレデンシャルを入れることはまったくありません)

After successfully logging into Faji, Jane is asked to grant access to Beppa, the Consumer. Faji informs Jane of who is requesting access (in this case Beppa) and the type of access being granted. Jane can approve or deny access.

(Fajiのログインに成功すると、JaneはコンシューマーであるBeppaに対してアクセス権を与えるかどうかを聞かれます。FajiはJaneに対して誰が(この場合Beppa)アクセス権を求めてきて、どのような権利を与えるべきかについて情報を提供します。Janeは承認することもできますし、アクセスを許可しないこともできます)

Jane makes sure Beppa is getting the limited access it needs. She does not want to allow Beppa to change her photos or do anything else to them. She also notes this is a onetime access good for one hour which should be enough time for Beppa to fetch her photos.(JaneはBeppaが必要最小限のアクセス権を求めてきていることを確認しました。またこれは1度限りのアクセスであり、1時間はBeppaが写真を取得するのに十分な時間です。)

Screen4

Once Jane approves the request, Faji marks the Request Token as User-authorized by Jane. Jane’s browser is redirected back to Beppa, to the URL previously provided http://beppa.com/order together with the Request Token. This allows Beppa to know it can now continue to fetch Jane’s photos.

(Janeが要求を承認すると、FajiはリクエストトークンをJaneによってユーザー承認された物としてマークします。JaneのブラウザはBeppaの以前のURLにRequest Tokenとともにリダイレクトで戻されます。これによりBeppaは自分がJaneの写真を取得しても良いことを知るのです。

Jane waits for Beppa to present her with her photos fetched from her Faji account.(JaneはBeppaが彼女の写真をFajiのアカウントから取得して表示するのを待ちます)

Screen5

While Jane waits, Beppa uses the authorized Request Token and exchanges it for an Access Token. Request Tokens are only good for obtaining User approval, while Access Tokens are used to access Protected Resources, in this case Jane’s photos. In the first request, Beppa exchanges the Request Token for an Access Token and in the second (can be multiple requests, one for a list of photos, and a few more to get each photo) request gets the photos.

(Janeが待っている間、Beppaは承認済みリクエストトークンを使ってアクセストークンに変更します。リクエストトークンはユーザー認証を取得するときだけ必要です。一方、アクセストークンはプロテクテッドリソース、この場合はJaneの写真をアクセスするときに使います。最初のリクエストでBeppaはリクエストトークンをアクセストークンに交換して、2番目のリクエスト(これ以降は複数回のリクエストがありえる。リストを取得したり、別の写真を取得したり、とか)で写真を取得します)

Flow3g

When Beppa is done, Jane’s browser refreshes to complete the order.

(Beppaが終わると、Janeのブラウザは注文を完了するためにリフレッシュします)

Beppa successfully fetched Jane’s photo. They are presented as thumbnails for her to pick and place her order.

(BeppaはJaneの写真を取得できました。サムネールを表示して彼女が注文できるようにします)

Jane is very impressed how Beppa grabbed her photos without asking for her username and password. She likes what she sees and place the print order.(JaneはBeppaがユーザー名とパスワードを聞かないで取得したことに驚きました。彼女は好きな写真のプリントを注文しました)

Screen6

Coming up in part III – signatures explained…

Hueniverse: Beginner’s Guide to OAuth – Part II

カテゴリー: 未分類 パーマリンク

Hueniverse: Beginner’s Guide to OAuth – Part II – 俺約 への5件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中