最近のアクセス:
GAM の認証タイプ: Apple

認証タイプ Apple は Web とモバイル (Apple および Android) のすべてのプラットフォームでサポートされています。ここでは、Apple を使用してログインするためのアプリケーションの設定手順を説明します。
Apple でログインするには、Apple 向けにスマート デバイス アプリケーションを生成し、メイン SD オブジェクトで次のプロパティを設定する必要があります:
その後、[ Apple Bundle Identifier ] プロパティを確認します。この例では「com.genexus.testAppleSignIn」とします。
この設定は 2 つの部分で行います:

Apple のバックエンド: アプリケーションの登録

Apple Developer サイトで次の操作を行います (この手順を実行するには、管理者またはアカウント所有者である必要があります):
  1. メニューから [ Certificate Ids & Profiles ] にアクセスします。
    次に [ Identifiers ] に移動します。Apple Bundle Identifier で絞り込み、アプリケーションを探します。
    アプリに「Enable as primary app Id」と表示されることを確認します。
    イメージ:44480.pngイメージ:44481.png
     
  2. 「Services Id」タイプの新しい識別子を作成します。

    イメージ:44482.png
    イメージ:44495.png
     
  3. Apple Bundle Identifier に似ている識別子名 (識別しやすいように) と説明を入力します。 [ Sign In with Apple ] をオンにし、 [ Configure ] ボタンをクリックします。

    イメージ:44496.png
     
  4. [ Primary App Id ] コンボでアプリを選択します (Apple Bundle Identifier が一致することを確認します)。

    イメージ:44497.png

    [ Domains ] で、アプリケーションのドメインを入力します。ドメインが Apple Development Team の確認を受けていない場合は、確認が必要です。その方法は同じ画面に表示されます (apple-developer-domain-association.txt ファイルを使用)。詳細については、対応する Apple のドキュメントを参照してください。

    イメージ:44498.png

    コールバック URL は次のように設定します:

    <URL ベース>/<Web アプリケーション>/oauth/gam/callback

    次に [ Continue ] をクリックします。表示される [ Register a services ID ] 画面で [ Register ] ボタンをクリックします。

    イメージ:44499.png

    プロセスを確認するには、もう一度 [ Identifiers ] オプションに移動し、サービスの ID で絞り込みます。
     
  5. Apple の秘密鍵を作成し、ダウンロードします。
    メニューから [ Keys ] に移動します。

    イメージ:44500.png

    キーに名前を指定します。

    イメージ:44501.png

    [ Sign In with Apple ] をオンにし、 [ Configure ] ボタンをクリックします。 [ Configure Key ] 画面で、作成した「Primary App Id」を選択します。 [ Save ] 、 [ Continue ] の順にクリックします。

    イメージ:44502.png

    [ Register ] をクリックします。これで秘密鍵を 1 回限りでダウンロードできます。
    作成された鍵の「Key ID」を保存します:

    イメージ:44494.png
     
  6. Web アプリケーション (および Android)、Apple のネイティブアプリケーションのクライアントシークレットを client_secret.rb プログラムを使用して生成します。この操作を実行するには、gem の「jwt」がインストールされている必要があります。
    インストールするには、gem install jwt コマンドを実行します。

    「client_secret.rb」プログラムの各フィールドを指定します:

    key_file: Apple の Web サイトからダウンロードした秘密鍵ファイルのパス。プログラムと同じディレクトリーに配置することをお勧めします。
    key_id: 作成された鍵の「Key ID」。Apple の Web サイト (このドキュメントの手順 5) またはダウンロードした秘密鍵ファイルの元の名前から取得します。
    team_id: 開発チームの ID ([ Development Team ID ] プロパティと同じ値)
    app_client_id: Apple アプリケーションバンドルの識別子 ([ Apple Bundle Identifier ] プロパティ)
    server_client_id: 先ほど作成されたサービスの ID タイプのバンドル識別子 (このドキュメントの手順 3)。
     例:

     key_file     = 'AuthKey_LAXKCWQ5D7.p8'
     key_id         = 'LAXKCWQ5D7'
     team_id     = 'xxxxxxxx'
     app_client_id         = 'com.genexus.testAppleSignIn'
     server_client_id     = 'com.genexus.TestAppleSignIn-server'
          プログラムを実行します:
          ruby client_secret.rb
          この手順の出力 (Apple のネイティブトークンと Web トークン) は、GAM Backend の設定で使用する認証タイプのクライアントシークレットです。

GAM Backend

アプリケーションがネイティブ Apple か、それ以外 (Web または Android) かによって、Apple ID 認証タイプの設定が異なります。

Apple 向けの認証

Apple アプリケーションでは、このタイプの認証を使用する必要があります。
警告:「Sign In With Apple」は Apple 13 以降で利用可能です。それより前のバージョンの Apple では、Web または Android の認証を使用する必要があります。

次のように設定します:
Client ID: Apple アプリケーションの [ Apple Bundle Identifier ] プロパティの値です。
Client Secret: 最後の手順 (6) で生成されたもの (名前が「iOS native token」) です。
イメージ:44508.png
GeneXus のコードは次のようになります:
Event 'Login Apple'
 composite
    &LoginExternalAdditionalParameters = new()
    &LoginExternalAdditionalParameters.AuthenticationTypeName = !"apple id sd"  //定義した認証タイプの名前
    Actions.LoginExternal(GAMAuthenticationTypes.Apple, !"",!"",&LoginExternalAdditionalParameters)
    return
 Endcomposite
Endevent

Web および Android アプリケーション向けの認証タイプ

Android アプリケーションまたは Web からはこの認証タイプを使用します。また、Apple 13 より前の Apple バージョンにも使用します。

Client ID: 上の手順 3 で作成されたサービス ID タイプの Bundle Identifier
Client Secret: 名前「Web token」で上の手順 6 で作成したもの
イメージ:44509.png
Android アプリのログインは Web です:
イメージ:52604.jpg

使用可能バージョン

GeneXus 16 Upgrade 6 以降で利用できます。

  • ユーザーのフルネームとメールアドレスを取得することが可能です。ユーザーは、実際のメールアドレスの代わりに転送設定を使用することもできます。
  • ユーザーを GAM ローカルユーザーに対応付けるには、GAM の Apple 認証タイプでローカルへの GAM インパーソネーション (偽装) を設定します。
  • ユーザーの情報は、アプリケーションとデバイスごとに 1 回のみ送信されます。テスト中に情報を再送信する必要が生じた場合は、このリンクをクリックします。そこで [ Security ] 、 [ Manage ] の順にクリックし、ポップアップウィンドウで、Apple ID の使用を停止するアプリケーションを選択します。
    イメージ:44555.png
    次に、 [ Stop Using Apple ID ] を選択します。
    イメージ:44556.png
    ユーザーの次回ログイン時には 1 回目と同様になります。


サブページ
Created: 21/05/11 23:27 by Admin Last update: 23/05/31 20:53 by Admin
カテゴリ
Powered by GXwiki 3.0