QQログインOAuth2.0処理フロー
QQ ログイン OAuth2.0 プロセスには主に次の 3 つのステップが含まれます:
1. access_token を取得する;
2. access_token に基づいてユーザー ID に対応する openid を取得する;
3. 呼び出しaccess_token と openid OpenAPI に基づいて、ユーザーが承認したリソース (ユーザー情報、ログ、フォト アルバム、トークなど) へのアクセスを要求または変更します。
QQ ログインでは、Web サイトに素早くアクセスできるように、JS SDK を提供しており、そのコードを Web ページに貼り付けることで QQ ログイン機能を実現します。
モバイル アプリケーションへの素早いアクセスを容易にするために、QQ ログインは Android SDK と IOS SDK を提供します。アプリケーションは少量のコードを変更するだけで QQ ログイン機能をすぐに実装できます。
#Step1: access_token の取得
QQ ログイン OAuth2.0 は Web サイト、モバイル アプリケーション、デスクトップ アプリケーションに提供されています現在、さまざまなログイン検証および認可プロセスで、アクセス トークンを取得する次の 2 つの方法が提供されています: 1. サーバー側モード は、OAuth 公式ドキュメントに記載されている認可コード モードであり、次の用途に適しています。 Web サーバーによってアクセスされるアプリケーションからアクセス トークンを取得する必要があるユーザー。
2. クライアント側モード
OAuth 公式ドキュメントに記載されている Implicit モードで、クライアント経由のアクセスに適しています。
上記 2 つのモードは、access_token の取得時のみ異なり、その後の openid の取得方法と API の呼び出し方法は同じです。
ログインに成功すると、開発者はログイン情報を表すアクセス トークンを取得します。このパラメータは、ユーザー認証情報にアクセスするために使用されます。
アクセス トークンは、ユーザーがログインするたびに生成されます。有効期限のデフォルトは 3 か月で、ユーザーが再度ログインすると自動的に更新されます。
#ステップ 2: access_token に基づいてユーザー ID に対応する openid を取得します。
リクエスト アドレス: PC Web サイト: https://graph.qq.com/oauth2.0/me
WAP Web サイト: https://graph.z.qq.com/moc2/me
リクエストメソッド: GET
リクエストパラメータ:
PC Web サイトにアクセスすると、ユーザーの OpenID が取得され、返却パッケージが返されます。次のように:
WAP Web サイトにアクセスすると、次の文字列が返されます:
openid は、この Web サイト上のユーザーの ID に対応する唯一の識別子です。Web サイトは、次回ログインするときにユーザーの ID を識別するためにこの ID を保存したり、Web サイト上のユーザーの元のアカウントにバインドしたりできます。 。
エラー コードの説明:
インターフェイス呼び出しでエラーが発生すると、コード フィールドとメッセージ フィールドが URL パラメーター ペアの形式で返されます。値の部分は URL エンコード (UTF-8) されます。
PC Web サイトにアクセスした場合のエラー コードの詳細については、「100000-100031: PC Web サイトにアクセスした場合の公開リターン コード」を参照してください。
WAP Web サイトにアクセスするときは、エラー コードの詳細を参照してください。 9000-9999: アクセス トークンに基づいて、対応するユーザー ID の openid を取得するときにエラーが発生しました。
ステップ 3: OpenAPI を呼び出してアクセスを要求するか、ユーザーが承認したリソースを変更する
OpenAPI を呼び出すときは、次の 3 つの値を使用する必要があります:
YOUR_APP_ID: QQ への申請が成功した後に割り当てられます。ログイン appid (222222 など)
YOUR_ACCESS_TOKEN: ステップ 1 で取得したアクセス トークンの有効期限が切れてはいけません (E0632E6CE12AC709999 など)
YOUR_OPENID: ステップ 2 で取得した openid、ユーザーの一意の識別子 (B9DD537D1C5C98A9999 など)