
OAuthとは
HamCQ コミュニティでは、OAuth による認証ログインを提供しており、これによりユーザーは HamCQ から開かれたウェブページを通じてメンバーの情報を取得し、ログインの手間を省くことができます。
OAuth 2 の設計の背景には、ユーザーが自身のアカウント情報やパスワードを第三者に明示せずに、許可を与えることで、第三者サービスが自身のリソース情報を取得できるようにするという考え方があります。
OAuth を提供する理由は何ですか?
コミュニティの発展により、ますます多くのユーザーが、コミュニティでの議論やカードの交換、認証を行う際に、普段使っているQQ、WeChat、淘宝などのプラットフォームも、サードパーティのアプリケーションに対してOAuthによる認証ログイン機能を提供しています。これはオープンな標準であり、現在最も普及している認証メカニズムです。
OAtuth を導入することで、主に以下のメリットが得られます。
- サードパーティの開発者の時間を節約し、登録プロセスを簡素化することで、迅速にビジネスロジックの実装を実現します。
- 地域社会の役割を最大限に活かし、より魅力的な機能を生み出す。
手続きの標準化と、ユーザーの権利保護のため、現時点でのコミュニティのOAuthは、ウェブサイトへのアクセスのみを許可し、authorization\_codeのみを提供し、権限表示のみを可能としています。
申請方法
HamCQ コミュニティにおける OAuth2.0 の全体的な処理フローは以下のとおりです。
ステップ1:APIへのアクセスを申請し、client\_id と client\_secret を取得します。
ステップ2:アプリケーションを開発し、共同作業者アカウントを設定してテスト連携を行います。
ステップ3:HamCQコミュニティのログインボタンを配置します。
ステップ4:ユーザーのログイン認証と承認により、アクセストークンを取得します。
ステップ5:Access Token を使用して、ユーザーのIDを取得します。
ステップ6:OpenAPIを呼び出して、ユーザーが許可したリソースへのアクセスを要求する。
以下の情報を送信してください。 emin@hamcq.cn 開発者情報およびサイトの状態について審査を行います。
1. サイト名
2. サイトのホームページへのリンク
3. 申請するビジネスシーン(50字以上の説明)
4. サイトのロゴ(64x64 PX以上)
5. サイトの説明(10文字以内)
6. ドメインのコールバックアドレス(厳密に一致)
7. ドメインのICP登録情報、公安庁登録情報
8. ウェブサイトの責任者情報(氏名、電話番号、身分証明書番号)
審査に通った後、詳細な情報はメールで送付されます。
インターフェース
許可
/oauth/authorize
| パラメータ | 説明 | 必須 | デフォルト値 | 例 |
| client_id | アプリケーションID | はい | なし | |
| response_type | ライセンスの種類 | はい | なし | コード または トークン |
| redirect_uri | リダイレクトURI | はい | アプリケーションのコールバックアドレス | https://example.com/oauth/callback |
| scope | 権限 | いいえ | なし | user.read |
| state | ステータス | いいえ | なし | state |
例:
以下のアクションを実行してください:
`https://example.com/oauth/authorize?client_id=123456`&response\_type = code&redirect\_uri=https://user.example.com/oauth/callback&scope=user.read&状態:123456
トークン
/oauth/トークン
| パラメータ | 説明 | 必須 | デフォルト値 | 例 |
| client_id | アプリケーションID | はい | なし | 123456 |
| client_secret | アプリケーションキー | はい | なし | 123456 |
| grant_type | ライセンスの種類 | はい | なし | 認証コードまたはリフレッシュトークン |
| code | 認証コード | 認証タイプが「authorization\_code」の場合、必須です。 | なし | 123456 |
| refresh_token | リフレッシュトークン | 認証タイプが「refresh\_token」の場合、必須項目です。 | なし | 123456 |
| redirect_uri | リダイレクトURI | 認証タイプが「authorization\_code」の場合、必須です。 | アプリケーションのコールバックアドレス | https://example.com/oauth/callback |
例:
POST https://example.com/oauth/token
リクエストボディ: client\_id=123456&クライアントシークレット=123456&grant\_type = authorization\_code&コード=123456&リダイレクト URI: https://example.com/oauth/callback
リソース(利用者)
/api/ユーザー
| パラメータ | 説明 | 必須 | デフォルト値 | 例 |
| access_token | アクセストークン | はい | なし | 123456 |
例:
次のURLにアクセスする: `https://example.com/api/user?access_token=123456`
ユーザー情報を取得する
{
"id": 1,
"username": "BG5UWQ",
"avatar_url": "",
"email": "",
"is_email_confirmed": 1,
...
}