/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JFUSocialGoogleInterface
 *   ソースファイル名：JFUSocialGoogleInterface.java
 *   作成者          ：富士通
 *   日付            ：2021年04月08日
 *＜機能概要＞
 *   ソーシャルID認証（Google）の外部APIを呼び出すIF部品です。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v53.00      2021/04/08   FJ）張本    【ANK-4009-00-00】CX戦略WG方針対応
 *
 **********************************************************************/
package eo.web.webview.common;

import org.json.JSONException;
import org.json.JSONObject;

/**
 * ソーシャルID認証（Apple）の外部APIを呼び出すIF部品です。
 *
 * <br>
 * @author 富士通
 */
public class JFUSocialAppleInterface
{
	/** ソーシャルID認証 クライアントID **/
	public static final String CLIENT_ID = "client_id";
	/** ソーシャルID認証 リダイレクトURI **/
	public static final String REDIRECT_URI = "redirect_uri";
	/** ソーシャルID認証 レスポンスタイプ **/
	public static final String RESPONSE_TYPE = "response_type";
	/** ソーシャルID認証 レスポンスモード **/
	public static final String RESPONSE_MODE = "response_mode";
	/** ソーシャルID認証 スコープ **/
	public static final String SCOPE = "scope";
	/** ソーシャルID認証 ステート **/
	public static final String STATE = "state";
	/** ソーシャルID認証 ナンス **/
	public static final String NONCE = "nonce";
	/** ソーシャルID認証 認可コード **/
	public static final String CODE = "code";

	/** ソーシャルIDユーザ情報取得 IDトークン **/
	public static final String ID_TOKEN = "id_token";
	/** ソーシャルIDユーザ情報取得 ユーザー識別子 **/
	public static final String SUB = "sub";

	/** ソーシャルIDユーザ情報取得 ユーザ **/
	public static final String USER = "user";
	/** ソーシャルIDユーザ情報取得 名前 **/
	public static final String NAME = "name";
	/** ソーシャルIDユーザ情報取得 姓 **/
	public static final String LAST_NAME = "lastName";
	/** ソーシャルIDユーザ情報取得 名 **/
	public static final String FIRST_NAME = "firstName";
	/** ソーシャルIDユーザ情報取得 メールアドレス **/
	public static final String EMAIL = "email";
	
	/** ソーシャルID認証 クライアントID値 取得キー */
	public static final String KEY_API_APPLE_CLIENT_ID = "API_APPLE_CLIENT_ID";
	/** ソーシャルID認証 クライアントシークレット値 取得キー */
	public static final String KEY_API_APPLE_CLIENT_SECRET = "API_APPLE_CLIENT_SECRET";
	/** ソーシャルID認証 リダイレクトU得キー */
	public static final String KEY_API_APPLE_REDIRECT_URI = "API_APPLE_REDIRECT_URI";
	/** ソーシャルID認証 レスポンスタイプ値 取得キー */
	public static final String KEY_API_APPLE_RESPONSE_TYPE = "API_APPLE_RESPONSE_TYPE";
	/** ソーシャルID認証 レスポンスモード値 取得キー */
	public static final String KEY_API_APPLE_RESPONSE_MODE = "API_APPLE_RESPONSE_MODE";
	/** ソーシャルID認証 スコープ値 取得キー */
	public static final String KEY_API_APPLE_SCOPE = "API_APPLE_SCOPE";

	/**
	 * レスポンス情報の項目値を取得
	 * 
	 * @param res レスポンス情報
	 * @param key キー
	 * @return 値
	 */
	public static Object getJsonValue(Object res, String key)
	{
		try
		{
			JSONObject rceiveObject = null;

			if (res instanceof JSONObject)
			{
				rceiveObject = (JSONObject)res;
			}
			if (res instanceof String)
			{
				rceiveObject = new JSONObject((String)res);
			}

			if (rceiveObject != null)
			{
				return rceiveObject.get(key);
			}

		}
		catch (JSONException e)
		{
			// TODO 自動生成された catch ブロック
			e.printStackTrace();
		}

		return null;
	}
}