Oauthの新浪微博Oauthの原理を学び始める

1606 ワード

  • 承認ページに移動

    まず新浪微博のウェブサイトでclientを申請しますIDとクライアント_SERCRETは、同時に申請中にテストのドメイン名アドレスをバインドします.これらの前提条件の下で自分で手動でurlをつなぐことができて、weibo 4 Jの1つの新浪の公式jarパッケージを引用することができます.結合によって生成されたurlは、例えば、
    https://api.weibo.com/oauth2/authorize?client_id=youId&redirect_url= url &response_type=code&state=state
    でredirect_urlアドレスのドメイン名は登録と同じでなければなりません.そうしないと、コールバック時にresponseを間違えます.typeは現在codeのみサポートされているようで、OAuth 2ドキュメントを見てresponse_を見つけることができます.typeはtokenなどの方法をサポートすることもできる.stateこのフィールドは主に認証の一貫性に使用されます.たとえば、リクエスト前にランダムにstateを生成し、sessionまたは他のキャッシュに1つ置くことができます.urlにリクエストを行うこともできます.コールバックを要求した後、私はこのstateというパラメータを手に入れてsessionと比較して、同じかどうかを確認します.
  • 承認ページにアカウントを入力させる

    授権ページにジャンプした後、実はこのページは新浪微博の自分のウェブサイトが提供したページで、微博のユーザーにアカウントのパスワードを記入して登録させ、アカウントのパスワードの検証に成功すれば、codeが前に記入したredirectを生成します.urlページ、一般呼び出しredirect_urlにはcodeとstateの2つのパラメータがあります.redirect_を再度強調urlのプレフィックスドメイン名は、新浪微博のウェブサイトで申請したときに記入したドメイン名と一致しなければならない.
  • コールバックに成功し、redirectを開きます。url

    この时、私たちはcodeを手に入れた后、codeでtokenを変えることができます。この时、実は微博のurlを要求します。例えば、https://api.weibo.com/oauth2/access_token?client_id=youid&client_secret=yousecret&grant_type=authorization_code&code=返されるcode&redirect_url=コールバックurl grant_type:authorization_code、以前はresponseを使っていたのでtypeはcodeなので、この値codeを記入する必要があります。前のステップで返されたcode値redirect_です。url:前のステップで記入したurlと同じ

  • 上記の手順を実行すると、accessTokenが得られます。

  • で取得したこのtoken値には有効期限とリフレッシュ時間が含まれており、現在、新浪はリフレッシュ時間を返さないようです.つまり、リフレッシュ時間は-1
  • です.
    このtokenを得た後,tokenのこの期限にtokenの値を永続化して保存する.このtokenを手に入れたら私たちはやりたいことをすることができます.