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 件のコメント:
コメントを投稿