WeChatサービス番号ウェブページのライセンス作成


サービス番号のウェブページの授権
ウェブページの授権の目的は、WeChatユーザのopenidを取得することであり、2つの授権方法がある.snsapi_basesnsapi_userinfoと、WeChatユーザは、サービス番号に関心があるかどうかに関わらず、前者はサイレント授権であり、openidしか獲得できない.後者の方法については、サービス番号に関心を持つユーザはサイレント授権である.関心がない場合は、ユーザが手動で授権ボタンを追加する必要があります.授権のプロセスは:
  • 要求oauthは、https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirectが開発者のAPPIDを記入し、appidは最終的にジャンプするREDIRECT_URIを記入し、urlurlを使用して符号化するように注意してください.
  • は、上記のステップ1において、フィードバックを取得したencoderを、要求を送信した後に、ブラウザからのコールバックSCOPEにジャンプし、STATE1にパラメータとして携帯している.
  • は、ステップ2の123を用いて、codeの送信要求urlを再送信し、codeを取得し、urlにステップ2で取得したredirect_uri/?code=CODE&state=STATEを充填し、第1の授権方式が使用されるとSTATEを取得し、CODEも取得し、ACCESS_TOKENも取得した.返した結果のモデルは、
    {
      "access_token":"ACCESS_TOKEN",
      "expires_in":7200,
      "refresh_token":"REFRESH_TOKEN",
      "openid":"OPENID",
      "scope":"SCOPE" 
    }
  • です.

    フロントエンドはhttps://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_codeを使用して、ハッシュルーティングを使用して、ACCESS_TOKENCODEが含まれています.上述の第1のステップの要求は、中間にスティッチングしたURLによって、瞬時にACCESS_TOKENによってデフォルトパスにジャンプされて、openidが後に取れなくなり、第3のステップを実行できなくなり、Angularを取得することができなくなります.次の図のように
    上記のアドレスはサーバから返されたコールバックアドレスの瞬間値で、すぐに下記のアドレスにリセットされ、フロントエンドがurlに届かなくなり、自然に#に取得できなくなりました.この問題を解決するには、codeのルーティングを非ハッシュモードに変更する必要がある.