2011年8月15日月曜日

OAuth2.0について調べてまとめてみた。

OAuth2.0について調べてまとめてみた。

Google Data Apiを触ってみようと思ったけど、3-legged OAuthよりもOAuth2.0が推奨されていて、それが何のことかよくわからなかったので調べてみることにした。
(Google Data ApiのJavaライブラリーは3-legged OAuthを使っているみたいだけど…)

まあ、詳しくは調べていないので、雑です。

OAuthのフロー(1)
UserはClientを起動する。

OAuthのフロー(2)
ClientはProviderに対して、ProviderにあるUserのリソースにアクセスする許可をUserからもらうように依頼する。

OAuthのフロー(3)
ProviderはClientがUserのリソースにアクセスすることを許可するかどうかをWebページにて確認する。

OAuthのフロー(4)
UserはClientがProviderにあるUserのリソースにClientがアクセスすることを承認する。

OAuthのフロー(5)
Providerは一時的なAccess Tokenを発行する。

OAuthのフロー(6)
Userは一時的なAccess TokenをClientに入力する。

OAuthのフロー(7)
ClientはProviderに有効なAccess Tokenを発行するように依頼する。

OAuthのフロー(8)
Providerはリソースアクセス用のAccess TokenとAccess TokenをリフレッシュするためのRefresh TokenをClientに渡す。

OAuthのフロー(9)
期限時間内はもらったAccess Tokenで持って、Providerと通信をして、Userリソースにアクセスする。
また、Userに対してClientの機能を提供する。

OAuthのフロー(10)
期限時間が過ぎたら、Refresh Tokenを使って、Providerに対して、新しいAccess Tokenを発行するように依頼する。

資料はこんな感じです。


最後の(9)と(10)はまだ検証していないので、ツッコミお待ちしております。

0 件のコメント:

コメントを投稿