コンテンツにスキップ

ログインページの呼び出し

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クエリパラメータとして使用されます。

  1. URLエンコーディング
  2. 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オブジェクトの例は以下に示されています。

{
  "code": "100",
  "state": "1627881984263-jkx1B3GOY3EsJ"
}