ログインページの呼び出し
Webログインは、ユーザーがWebページを通じてIdPにログインできる機能です。
ログインページ呼び出し は、一時的な認証コード(state)と、ユーザーがIdPにログインできるHiveウェブログインURLアドレスを返すAPIです。
APIの ログインページ呼び出し をリクエストした後、ユーザーが呼び出されたログインページでウェブログインを完了すると、リクエスト時に提供されたリダイレクトURIを通じて一時的な認証コード(state)が返されます。一時的な認証コード(state)は、ログイン検証とユーザー情報取得 APIリクエストを行う際に提供しなければならない必須パラメータです。
リクエストURL¶
| 環境 | URL | 
|---|---|
| 本番環境 | https://weblogin.withhive.com/login?param= | 
| サンドボックス | https://sandbox-weblogin.withhive.com/login?param= | 
| HTTPメソッド | GET | 
| コンテンツタイプ | text/html | 
リクエストクエリパラメータ¶
| フィールド名 | タイプ | 説明 | 必須 | 
|---|---|---|---|
| param | 文字列 | 以下のJSONオブジェクトをURLエンコーディングおよびBASE64エンコーディングして生成された文字列。 | Y | 
リクエストクエリパラメータJSON構造体 (param)¶
 | フィールド名 | タイプ | 説明 | 
|---|---|---|
| appid | 文字列 | アプリID | 
| url | 文字列 | ログインが完了した後にリダイレクトされるURIアドレス。Hiveコンソールの リダイレクトURIに登録されたものと一致する必要があります 認証 > 認証設定 > ログイン設定。一致しない場合、2012エラーページが表示されます。 | 
| client_id | 文字列 | セキュリティキー設定で作成されたOAuth 2.0クライアントID。Hiveコンソールのアプリセンター > セキュリティキー設定で確認できます。 | 
| response_type | 文字列 | OAuth 2.0認証方法。 デフォルト: code | 
| country | 文字列 | ゲームまたはコミュニティに設定された国コード(提供されていない場合はブラウザのデフォルトを使用) | 
| language | 文字列 | ゲームまたはコミュニティに設定された言語コード(提供されていない場合はブラウザのデフォルトを使用) | 
リクエストクエリパラメータJSON (param) の例¶
 リクエストクエリパラメータJSON(param)は、以下に示すようなJSONオブジェクトで構成されています。
{
  "appid": "com.com2us.hivesdk.ios.community.global.normal",
  "url": "https://community.withhive.com/hivesdk/login/redirect",
  "client_id": "58b48cd3-df47-5b52-2627-3f9c8d01",
  "response_type": "code",
  "country": "KR",
  "language": "ko"
}
このJSONオブジェクトは、API呼び出し中に以下の順序で文字列に変換され、paramクエリパラメータとして使用されます。
- URLエンコーディング
- BASE64エンコーディング
# 인코딩된 param을 붙여 호출하는 URL 예시
https://weblogin.withhive.com/login?param=JTdCJTIyYXBwaWQlMjIlM0ElMjJjb20uY29tMnVzLmhpdmVzZGsuaW9zLmNvbW11bml0eS5nbG9iYWwubm9ybWFsJTIyJTJDJTIydXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZjb21tdW5pdHkud2l0aGhpdmUuY29tJTJGaGl2ZXNkayUyRmxvZ2luJTJGcmVkaXJlY3QlMjIlMkMlMjJjbGllbnRfaWQlMjIlM0ElMjI1OGI0OGNkMy1kZjQ3LTViNTItMjYyNy0zZjljOGQwMSUyMiUyQyUyMnJlc3BvbnNlX3R5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyY291bnRyeSUyMiUzQSUyMktSJTIyJTJDJTIybGFuZ3VhZ2UlMjIlM0ElMjJrbyUyMiU3RA==
応答の振る舞い¶
- レスポンスはHTTP 302リダイレクトになります。
- ブラウザはLocationヘッダーに設定されたURIにリダイレクトされ、resクエリパラメータがそのURIに追加されます。
- resはURLエンコードされ、BASE64エンコードされたJSON文字列です。
リダイレクト先URIサンプル¶
# https://community.withhive.com/hivesdk/login/redirect를 리다이렉트 URI로 설정한 경우
https://community.withhive.com/hivesdk/login/redirect?res=JTdCJTIyY29kZSUyMiUzQSUyMjEwMCUyMiUyQyUyMnN0YXRlJTIyJTNBJTIyMTY4ODEwODkyNzk0Mi1CUHVxcHFFaUd6S0lIJTIyJTdE
レスポンスクエリパラメータ (res)¶
 res は、URL エンコーディングおよび BASE64 エンコーディングを経た後に文字列に変換された値であり、以下に示すキー値を持つ JSON オブジェクトで構成されています。 
| フィールド名 | タイプ | 説明 | 
|---|---|---|
| code | 文字列 | Webログインレスポンスコード 成功しない場合、エラーコードを含むWebログインエラーページにリダイレクトされます。 | 
| state | 文字列 | トークン発行をリクエストする際に使用される一時的な認証コード(authorization_code)。 | 
レスポンスクエリパラメータ レスポンスコード¶
| コード | 説明 | 備考 | 
|---|---|---|
| 100 | 成功 | |
| 1050 | 無効なパラメータ | |
| 1051 | URLデコードエラー | |
| 1052 | BASE64デコードエラー | |
| 1053 | 無効なパラメータ値 | ?param=の値 | 
| 2005 | 異常なリクエスト値 | |
| 2011 | プロジェクト情報がない | |
| 2012 | リダイレクトURIの不一致 | Hiveコンソールに登録された リダイレクトURIと一致する必要があります 認証 > 認証設定 > ログイン設定。 | 
| 2013 | プロジェクトは終了状態 | |
| 2016 | アプリID情報がない | |
| 2018 | 会社情報がない | |
| 2020 | 一時的な認証コード( state)の発行に失敗 | |
| 2022 | 一時的な認証コード( state)の保存に失敗 | |
| 7000 | OAuth2.0セキュリティキーが生成されていない | Hiveコンソールで確認してください アプリセンター > セキュリティキー設定。 | 
| 7003 | OAuth2.0クライアント情報がない | 〃 | 
レスポンスクエリパラメータサンプル (res)¶
 resを再びJSONオブジェクトとして使用するには、BASE64デコードとURLデコードを逆に行う必要があります。JSONオブジェクトの例は以下に示されています。