7 Oracle Mobile Authenticatorのカスタマイズ

Oracle Mobile Authenticator (OMA)は、ワンタイム・パスワード(OTP)を使用し、通知をプッシュしてユーザーを認証する、ハードウェア・トークンのコストやSMSチャージが発生しないモバイル・デバイス・アプリケーションです。このアプリケーションでは、パスワードなしの認証が提供されます。サポートされるプラットフォームはiOS、AndroidおよびWindowsユニバーサル・アプリです。

この章では、Oracle Mobile Authenticatorに会社のロゴとカラーを表すブランディングを施すために使用できる手順について説明します。この章には次の項目があります。

7.1 Oracle Mobile Authenticatorおよびカスタマイズについて

Oracle Access Managementアダプティブ認証サービスを使用すると、ユーザー認証プロセスに複数の手順を追加できます。この追加セキュリティを適用するには、OTPステップまたはアクセス・リクエスト(プッシュ)通知ステップを初回のユーザー認証後に追加します。場合によっては、強制にOracle Mobile Authenticator (OMA: 時間ベースのワンタイム・パスワードを使用し、通知をプッシュして第2ファクタ認証スキームでユーザーを認証するモバイル・デバイス・アプリケーション)の使用が含まれます。アダプティブ認証サービスの詳細と、OMAとの併用については、『Fusion Middleware Oracle Access Management管理者ガイド』「アダプティブ認証サービスおよびOracle Mobile Authenticatorの管理」を参照してください。

管理者は、OMAアプリケーションの次の特徴をカスタマイズして、内部使用目的でアプリケーションを配布できます。

  • アプリケーション・ロゴおよびイメージ

  • 文字列リソース

  • アプリケーションの使用許諾契約(EULA)、プライベート・ポリシーおよびヘルプ

  • アプリケーションの名前、アイデンティティおよびバージョン情報

7.2 iOSでのOracle Mobile Authenticatorのカスタマイズ

Oracle Mobile Authenticator (OMA)は、アプリケーションのカスタマイズに使用可能なxcarchiveのZIPとして配布されます。Xcodeは、xcarchiveに署名して、IPA (デバイスにインストールできるアプリケーション)を生成するために使用されます。

注意:

Oracle Mobile Authenticator (OMA)のカスタマイズ・アプリケーションを取得するには、Oracleサポートに連絡して、未署名のモバイル・アーカイブに対するアクセス権を取得します。

開始する前に

OMAをカスタマイズするには、次のリソースが必要です。

  • XcodeがインストールされたMac

iOSのOMAアプリケーションのカスタマイズ

iOSのOMAアプリケーションは、3つの手順でカスタマイズできます。

1. xcarchiveを抽出または解凍します

2. xcarchiveをカスタマイズします

3. 会社が生成した証明書を使用してXcodeからxcarchiveに署名します。このアクションは、デバイスにアプリケーションをインストールする場合、通知サービスを設定する場合およびアプリケーション・ストアにアプリケーションをアップロードする場合に必要です。

xcarchiveの抽出または解凍

OracleAuthenticator.xcarchiveがユーザーに提供されます。

  1. OracleAuthenticator.xcarchiveを右クリックして、「open package contents」「Products」「Applications」「Authenticator」に移動します

  2. 「Authenticator」を右クリックして、「open package contents」を選択します。

xcarchiveのカスタマイズ

  1. スプラッシュ画面

    この画面は、アプリケーションの起動中の短い時間に表示されます。

    • LaunchImage...で開始されるイメージは8つあります。指定されたイメージ・サイズを使用して、カスタム・イメージを作成します。サイズはイメージ名の一部として示されます。

  2. アプリケーション・アイコン

    これは、ホーム画面またはSpringBoardで表示されるイメージです。

    • AppIcon..で開始されるイメージは12個あります。指定されたイメージ・サイズを使用して、カスタム・イメージを作成します。サイズはイメージ名の一部として示されます。

    • イメージを同じ名前で置換します。

  3. OMAロゴ

    これらのイメージは、アカウントのデフォルト・アイコンとして表示されます。

    • 透明な背景で、前景色が異なる2つのイメージがあります。

      イメージ1. 96*96ピクセルのサイズのoma_blue.png。

      イメージ2. 205*270ピクセルのサイズのoma_white.png。

    • カスタマイズされたファイルを同じ名前のpng形式で置換します。

      イメージ・サイズのアスペクト比を変更すると、ユーザー・インタフェースがゆがんで見える場合があるので注意してください。完成前に、要望どおりのイメージ・サイズおよびアスペクト比で表示されることを確認します。
  4. その他の会社アイコン。

    各アカウントにはイメージが関連付けられています。共有シークレットの手動入力中にアカウントを追加するときに使用可能なイメージからアカウント・イメージを選択することも、編集画面で既存のアカウント・イメージを変更することもできます。

    • 140*140ピクセルのothers.png。

  5. アプリケーションの表示名。

    これは、ホーム画面に表示されるアプリケーションの名前です。

    • Info.plistファイルを開きます

    • フィールドBundle display nameの値を編集します。デフォルト値はAuthenticatorです。

  6. EULA、プライベート・ポリシーおよびヘルプ。

    • en.lproj内には、それぞれのファイル用のファイルがあります(eula.txt、help.htmlおよびprivacy.html)。これらのファイルは編集可能です。eula.txtはローカライズされません。

      注意:

      すべてのローカライズ対象言語でファイルを更新する必要があります。ローカライズ対象言語フォルダには、.lproj (拡張子)が格納されています。

  7. イメージを使用したサード・パーティ企業リスト。

    これらは、OMAを使用してアカウントを構成するために使用可能なサード・パーティ企業です。このページは、キーの手動入力によって新しいアカウントを作成するとき、またはアカウント情報の編集中に表示できます。会社名およびイメージは同じ順序で表示されます。

    • CompanyList.jsonファイルを開くと、会社名およびイメージは同じ順序で表示されます。任意のアイテムを削除できます。IconNameで、使用可能なイメージ名を更新できます。

  8. 初回起動時にEULAを表示する必要がある場合。

    • CustomizableFlags.plistを開き、shouldEULAShownOnFirstLaunchの値をYESまたはNOに変更します。デフォルトはYESです。
  9. アプリケーションのバージョンはinfo.plistの(Bundle versions string, short)から変更できます。

  10. アプリケーション名はOMA内の様々な場所で表示されます。アプリケーション名のみをカスタマイズでき、ローカライズはサポートされていません。デフォルトのアプリケーション名はOracle Mobile Authenticatorです。これは、info.plistファイルのフィールドCompanyNameを変更することでカスタマイズできます。

xcarchiveへの署名

  • apple.developer.comで生成された証明書のアプリケーションのバンドルIDを取得します。このバンドルIDに関連する証明書が、アプリケーションへの署名に使用されます。たとえば、バンドルIDはcom.acme.authenticatorのようになります。

    • お客様が、アプリケーションへの署名に使用される証明書を生成します。

    • その人が独自のApple開発者のアカウントを使用して証明書を生成します。

    • 証明書には、アプリケーションの区別に使用される一意の文字列が含まれます。

    • この一意の文字列は、ここで使用されるバンドルIDと呼ばれます。

    詳細は、https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.htmlを参照してください

  • info.plistファイルを開き、アプリケーションのバンドルIDでフィールドBundle identifierを更新します。

すべての変更内容を保存して、xcarchiveフォルダをダブルクリックします。これによってXcodeが起動します。

アプリケーションに署名するには、https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.htmlに記載されている手順に従います。

署名してXcarchiveからiPAをエクスポートするには、https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.htmlに記載されている手順に従います

7.3 AndroidでのOracle Mobile Authenticatorのカスタマイズ

Oracle Mobile Authenticatorは、Androidアプリケーション・パッケージ(.apk)として顧客に出荷されます。apktoolは、Androidアプリケーションを逆コンパイル、変更、および変更とともにリビルドすることができるツールです。apktoolの使用の詳細は、次以降の項を参照してください。

7.3.1 apktoolを使用したOracle Mobile Authenticatorのカスタマイズ

apktoolのインストールと使用方法のガイドには、apktoolプロジェクト・ホーム(https://ibotpeaches.github.io/Apktool/)からアクセスできます。次のサンプル・コマンドは、Androidアプリケーション・パッケージを逆コンパイルするために使用されます。

apktool d OracleMobileAuthenticator-android-release_branch_21_03_2017-170403.181503.apk

この次のサンプル・コマンドは、Androidアプリケーション・パッケージの更新された内容をリコンパイルするために使用されます。カスタマイズされたアプリケーションの署名バージョンが作成されます。

apktool b OracleMobileAuthenticator-android-release_branch_21_03_2017-170403.181503

7.3.2 Oracle Mobile Authenticator Androidアプリケーションのカスタマイズ・オプション

次の各項では、Oracle Mobile Authenticator Androidアプリケーションのカスタマイズ・オプションについて説明します。

7.3.2.1 アプリケーション・アイコンの変更

UXのコントロール向上と複数画面のサポートのために、Androidには、各画面タイプ用のdrawableを整理する別々のフォルダが用意されています。(一例を挙げれば、drawable-hdpiは、高画素密度デバイス用です。)Androidのアプリケーション・アイコンは、res/フォルダにあります。

要件に基づいて、OMAアプリケーション・アイコンを、対応するdrawableフォルダ内で更新することもできます。アプリケーション・アイコンをカスタマイズするには、アイコン名を変更しないで、古いアイコンを新しいアイコンに置き換えます。

次のすべてのフォルダでアイコンを置き換える必要があります。

  • res\drawable-mdpi-v4

  • res\drawable-hdpi-v4

  • res\drawable-xhdpi-v4

  • res\drawable-xxhdpi-v4

  • res\drawable-xxxhdpi-v4

次のアイコンは、元のアイコンと同じサイズおよび名前のカスタマイズされたアイコンに置き換えることができます。

  1. 起動プログラム・アイコン: res\mipmap-mdpi-v4\ic_launcher.png

  2. OMAロゴ: 透明な背景で、前景色が異なる2つのイメージがあります。

    イメージ1. res\drawable-mdpi-v4\oma_logo.png

    イメージ2. res\drawable-mdpi-v4\mfa_icon.png

  3. その他の会社アイコン

    その他の会社アイコンは、サード・パーティ企業に対して表示されるデフォルトの会社アイコンです。これは、companylist.jsonで変更できます

    res\drawable-mdpi-v4\others.png

7.3.2.2 アプリケーション名とテキストの変更

Authenticatorという名前は、/res/values/strings.xmlファイルの文字列app_nameの、既存の値を変更することによってカスタマイズできます。ファイル内でデフォルト値を見つけます。

<string name="app_name">Authenticator</string>

この値を好みの名前に変更して保存します(例: Acme Authenticator)。特殊文字は使用できません。

<string name="app_name">Acme Authenticator</string>

エンド・ユーザー・ライセンス契約、プライバシーおよびヘルプのテキストもカスタマイズできます。テキストを変更するには、次に指定するディレクトリ構造で、元のバージョンのファイルを新しいファイルに置き換えます。ファイル名を変更しないでください。

  • エンド・ユーザー・ライセンス契約: /res/raw/eula.txt

  • プライバシー: /res/raw/privacy.html

  • ヘルプ: /res/raw/help.html

    ヘルプはローカライズされます。ヘルプをカスタマイズするには、ローカライズ・フォルダでヘルプ・ファイルを変更する必要があります。

注意:

アプリケーション名および文字列が変更された場合は、対応する翻訳文字列を忘れずに変更してください。たとえば、res\values-ar、res\raw-arなどです
7.3.2.3 イメージを使用したサード・パーティ企業リストの編集

res\raw\companylist.jsonファイルを開きます。会社名およびイメージは同じ順序で表示されます。任意のアイテムを削除できます。IconNameで、使用可能なイメージ名を更新できます。

7.3.2.4 初回起動時に表示されるEULAの変更

res\raw\prop.txtを開きます。showEulaの値をyesに変更します。この値は大文字と小文字が区別されずに扱われます。デフォルト値はyesです。

7.3.2.5 バージョンおよびコード番号の変更

アプリケーションのバージョンとコード番号を変更するには、.apkファイルの内容が逆コンパイルされているディレクトリにあるapktool.ymlの詳細を変更します。apktool.ymlファイルは、任意のテキスト・エディタで表示、変更できます(「apktoolを使用したOracle Mobile Authenticatorのカスタマイズ」を参照)。例7-1に示すように、versionCodeおよびversionNameパラメータはversionInfoプロパティの下にあります。この例では、バージョン名が、デフォルト値の11.1.2.3.0からtest.xx.x.xに変更されました。

例7-1 Androidのバージョンおよびコード番号の変更

versionInfo:versionCode: '3'versionName: 'test.xx.x.x'
7.3.2.6 パッケージ名の変更
パッケージ名を変更する手順
  1. Notepad++で、逆コンパイルされたapkフォルダにあるAndroidManifest.xmlを開きます。<パッケージ名>をすべて検索して新しいパッケージ名に置き換えて、逆コンパイルされたapkフォルダの場所としてディレクトリを設定し、*.*でフィルタ処理します。

    例: Find what: oracle.idm.mobile.authenticator Replace what: example.idm.mobile.authenticator

  2. 同様に、Lが追加されて.が/に置き換えられたパッケージ名をすべて検索して置き換えます

    例: Find what: Loracle/idm/mobile/authenticator Replace what: Lexample/idm/mobile/authenticator

  3. 逆コンパイルされたapkフォルダのsmaliフォルダに移動して、新しいパッケージ名に応じてフォルダ名を変更します。

  4. apktoolを使用してフォルダを構築します。次に例を示します。

    apktool b OracleMobileAuthenticator-androidrelease_branch_21_03_2017-170403.181503
7.3.2.7 アプリケーションへの署名

Androidでは、インストールの前に、すべてのアプリケーションがデジタル署名されている必要があります。Androidでは、証明書を使用してアプリケーションの作成者を識別します。証明書は認証局によって署名されなくともよいので、Androidアプリケーションは自己署名証明書をよく使用します。このAndroid要件に関する追加の詳細とそのプロセス(アプリケーションに署名するために使用できる手順など)は、http://developer.android.com/tools/publishing/app-signing.html#signing-manuallyで説明されています

7.4 WindowsでのOracle Mobile Authenticatorのカスタマイズ

Oracle Mobile Authenticator (OMA)は、アプリケーションのカスタマイズに使用可能なZIPパッケージとして配布されます。

注意:

Oracle Mobile Authenticator (OMA)のカスタマイズ・アプリケーションを取得するには、Oracleサポートに連絡して、未署名のモバイル・アーカイブに対するアクセス権を取得します。

開始する前に

OMAをカスタマイズするには、次のリソースが必要です。

  • Windows 10以上

  • VIsual Studio 2015以上

WindowsのOMAアプリケーションのカスタマイズ

WindowsのOMAアプリケーションは、3つの手順でカスタマイズできます。

1. パッケージの抽出または解凍

2. パッケージのカスタマイズ

3. パッケージの作成または圧縮

パッケージの抽出または解凍

VS2015用の開発者コマンド・プロンプトを開いて、次のコマンドを実行します。

  1. MakeAppx unbundle /o /p / <appxbundleのフル・パス > /d <appxbundleの抽出先フォルダのフル・パス >

    例: MakeAppx unbundle /o /p F:\OMA\OMA.10_1.9.2.0_x86_x64_arm_Release_UWP10.appxbundle /d F:\OMA\unbundle

  2. MakeAppx unpack /o /l /p <appxファイルのフル・パス> /d <appxファイルの抽出先フォルダのフル・パス>

    例: MakeAppx unpack /o /l /p F:\OMA\unbundle\OMA.10_1.9.2.0_x64_Release_UWP10.appx /d F:\OMA\unpack

パッケージのカスタマイズ

OMAフォルダの下にパッケージを抽出すると、フォルダ構造は次の図に示す例のようになります。

oma_windows_fstructure.pngの説明が続きます
図oma_windows_fstructure.pngの説明

注意:

  • appxbundle内にある各パッケージ(つまり、MakeAppxのunbundleコマンドの出力先にあるappxファイル)をカスタマイズします。ここで示す手順は、1つのパッケージをカスタマイズする場合について説明しています。

  • イメージ・ファイルを更新した場合は、イメージ・ファイルの名前と大きさが同じままであることを確認します。

  • ヘルプ・ファイルまたはEULAファイルを更新した場合は、ファイル名が同じままであることを確認します。

  • なんらかの文字列リソースを更新した場合は、文字列のキー名が同じままで、値のみが更新されていることを確認します。

 
  1. スプラッシュ画面

    この画面は、アプリケーションの起動中の短い時間に表示されます。

    • この画面のイメージ・ファイルは、OMA\Assetsの下のSplashScreen... で始まるファイルです。指定されたイメージ・サイズを使用して、カスタム・イメージを作成します。サイズはイメージ名の一部として示されます。

      例: SplashScreen.scale-200.png

  2. アプリケーション・アイコン

    これは、ホーム画面またはSpringBoardで表示されるイメージです。

    • 次のアプリケーション・アイコンのイメージは、OMA\Assetsの下にあります。指定されたイメージ・サイズを使用して、カスタム・イメージを作成します。サイズはイメージ名の一部として示されます。イメージを同じ名前で置換します。

      • LockScreenLogo.scale-200.png

      • Square44x44Logo.scale-200.png

      • Square44x44Logo.targetsize-24_altform-unplated.png

      • Square71x71Logo.scale-200.png

      • Square150x150Logo.scale-200.png

      • Square310x310Logo.scale-200.png

      • StoreLogo.png

      • Wide310x150Logo.scale-200.png

  3. OMAロゴ

    これらのイメージは、アカウントのデフォルト・アイコンとして表示されます。

    • OMA\Assetsの下には、更新可能なイメージが2つあります。

      イメージ1。MFA_Icon.png。

      イメージ2。OMA_Logo_70.png

    • カスタマイズされたファイルを同じ名前のpng形式で置換します。

      イメージ・サイズのアスペクト比を変更すると、ユーザー・インタフェースがゆがんで見える場合があるので注意してください。完成前に、要望どおりのイメージ・サイズおよびアスペクト比で表示されることを確認します。
  4. その他の会社アイコン。

    各アカウントにはイメージが関連付けられています。共有シークレットの手動入力中にアカウントを追加するときに使用可能なイメージからアカウント・イメージを選択することも、編集画面で既存のアカウント・イメージを変更することもできます。

    • Others.png

  5. アプリケーションの表示名。

    これは、ホーム画面に表示されるアプリケーションの名前です。

    • OMAフォルダの下のAppxManifest.xmlを開いて、次の情報を更新します。

      • Package → Identity → Name

      • Package → Identity → Publisher

      • Package → Properties → DisplayName

      • Package → Properties → PublisherDisplayName

      • Package → Applications → Application Id="App" → uap:visualElements → DispalyName

      • Package → Applications → Application Id="App" → uap:visualElements → Description

      • OMA\Configフォルダの下のConfig.jsonファイルを開いて、次の文字列リソースを更新します

        • appConfig.json → appName

        • appConfig.json → companyName

  6. EULA。

    OMA\Assetsの下の次のファイルを更新します。

    • eula.html

  7. プライベート・ポリシー。

    OMA\Configフォルダの下のConfig.jsonファイルを開いて、次の文字列リソースを更新します。

    • appConfig.json → privacyPolicyUrl

  8. ヘルプ。

    OMA\Strings\enの下の次のファイルを更新します。

    • help.html

  9. イメージを使用したサード・パーティ企業リスト。

    これらは、OMAを使用してアカウントを構成するために使用可能なサード・パーティ企業です。このページは、キーの手動入力によって新しいアカウントを作成するとき、またはアカウント情報の編集中に表示できます。

    • OMA\Assetsフォルダの下のcompanylist.jsonファイルを開いて、必要なだけのエントリを更新します。企業の名前とイメージは、ファイル内での順序と同じ順序で表示されます。任意のアイテムを削除できます。IconNameで、使用可能なイメージ名を更新できます。IconNameキーに記述されているイメージは、OMA\Assetsフォルダに存在する必要があります。

  10. 初回起動時にEULAを表示する必要がある場合。

    • OMA\Configフォルダの下のConfig.jsonを開いて、trueまたはfalseの値を持つ次の情報を更新します。trueは初回起動時に表示することを示し、falseは表示しないことを示します。
      • appConfig.json → showEULA

  11. アプリケーションのバージョン番号。

    OMAフォルダの下のAppxManifest.xmlを開いて、次の情報を更新します。

    • Package → Identity → Version

パッケージの作成または圧縮

VS2015用の開発者コマンド・プロンプトを開いて、次のコマンドを実行します。

注意:

次のコマンドにおいて、appxおよびappxbundleのファイル名とフル・パスは同じであることが必要です。
  1. MakeAppx pack /o /l /d <カスタマイズ済フォルダのフル・パス> /p <カスタマイズ済appxファイルのフル・パス>

    例: MakeAppx pack /o /l /d F:\OMA\unpack /p F:\OMA\unbundle\OMA.10_1.9.2.0_x64_Release_UWP10.appx

    注意:

    前述した手順は、1つのパッケージをカスタマイズする場合についての説明です。パッケージごとにカスタマイズの手順を実行してから、次のコマンドを実行してappxbundleを生成し、署名します。
  2. MakeAppx bundle /o /d <カスタマイズ済unbundleフォルダのフル・パス> /p <カスタマイズ済appxbundleファイルのフル・パス>

    例: MakeAppx bundle /o /d F:\OMA\unbundle /p F:\OMA\OMA.10_1.9.2.0_x86_x64_arm_Release_UWP10.appxbundle

  3. SignTool sign /fd SHA256 /a /f <pfx証明書ファイルのフル・パス> /p <pfxファイルのパスワード> <カスタマイズ済appxbundleファイルのフル・パス>

    例: SignTool sign /fd SHA256 /a /f F:\OMA\OMA.10_TemporaryKey.pfx F:\OMA\OMA.10_1.9.2.0_x86_x64_arm_Release_UWP10.appxbundle

注意:

前述のコマンドの/p <passwordパラメータはオプションであり、pfxファイルがパスワードで保護されない場合、このパラメータは無視してください。 https://msdn.microsoft.com/en-us/library/windows/desktop/jj835832(v=vs.85).aspxに、 SignTool コマンドで使用される署名証明書の作成方法についての説明があります。

MakeAppxユーティリティの詳細な情報は、https://msdn.microsoft.com/en-us/library/windows/desktop/hh446767(v=vs.85).aspxを参照してください。