ログインページの呼び出し
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オブジェクトの例は以下に示されています。