OAuthの全体的な流れ
7047 ワード
OAuth
この文章は生活コードOAuthを見て勉強のためにまとめた文章です.
総フロー表
今見てもわかりません.でもこの文章を読んで理解できたのかな??
3つのボディ
Resource Server (github)
クライアント(自分のページ)
リソース所有者(ユーザー)
私たちは何なのかを知るだけでいいです.
Resource Server
データサーバ
Authorization Server
認証処理を専門とするサーバ
クライアントからResourceServerに登録します。
リソースサーバごとに異なります.次の3つの面の代表的な思考でいいです.
クライアント、リソースサーバに、次の3つの重要な情報を提供します.
Client ID
クライアントSecret(漏洩x)
Authorized redirect URIs ex) http://client/callback
ライセンスコードを伝達する場合は、上記のアドレスをお知らせください.
リソース所有者の承認
ResourceOwnerクライアントにアクセスしてResourceServerを購入
羽毛センター登録ボタンa hrefはどんなurlを使うべきですか
<https://resource.server/>
?client_id=1
&scope=B,C
&redirect_uri=https://client/callback
//예시
<https://github.com/login/oauth/authorize>
?client_id=619d8e37e985e7ab3be6
&scope=user //(각 resource server가 정해놨다.)
&redirect_uri=http://3.37.76.224 || <http://localhost:3000>
ResourceOwnerは上のURIにアクセスします.
ResourceServerは、ResourceOwnerにログインするかどうかを決定します.
ResourceServerは2種類をチェックします.
ResourceServerは~~権限が正しいかどうかを尋ねます.
ResourceOwnerはパーミッションを許可します.
ResourceServerは、次の情報をClientIDに格納します.
リソースサーバの承認
上記の手順では、ResourceOwnerが承認されている場合は、すぐにクライアントに権限を付与しません.why? 危険.
<https://resource.server/token>
?grant_type=authorization_code
&code=3123123
&redirect_uri=https://client/callback
&client_id=1
&client_secret=2
エクセスト貨幣を発行する
やっとOAuthのアクセストークンを受け取ることができました.
Access Tokenを使用したリソースサーバAPIの使用
各ResourceServerは、指定されたAPIを使用できます.この場合、独自のAccess Tokenを同時に送信する必要があります.
クライアントがResourceServerにAccess Tokenを渡すには、2つの方法があります.
検索https://...?**access_token="token"**(Googleは可能ですが、他の場所は知りません)
タイトルの承認:Bearer"token"(標準メソッド)
ここでBeareは?
これはOAuthのために提案された認証方法である.(token type)
Refresh Token
各Access Tokenには寿命があります.
このとき,保存したRefresh Tokenを用いてAccess Tokenを再取得する.
ResourceServerごとにRefresh Tokenが与えられるのとは異なり、更新するたびに、またはそうではないと言われています.各サイトで確認しておきたいようです!
コアは、Access Tokenの有効期間が終了した後、APIの使用中にエラーが発生した場合に、再度Refresh Tokenを使用してAccess Tokenを取得することである.
総フロー表
もう一度見て、少し理解できます.
ソース
生活コードOAuth
Reference
この問題について(OAuthの全体的な流れ), 我々は、より多くの情報をここで見つけました https://velog.io/@proshy/OAuth의-전체적인-흐름テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol