プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Access Management開発者ガイド
11gリリース2 (11.1.2.3.0) for All Platforms
E67354-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

13 Oracle Mobile Authenticatorのカスタマイズ

Oracle Mobile Authenticatorは、時間ベースのワンタイム・パスワード(TOTP)を使用し、通知をプッシュしてユーザーを認証するモバイル・デバイス・アプリケーションです。Oracle Mobile Authenticatorモバイル・デバイス・アプリケーションは顧客向けなので、会社を表すようにカスタマイズできます。

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

13.1 Oracle Mobile Authenticatorの理解

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

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

Oracle Mobile Authenticator (OMA)はZIPアーカイブとして配布され、OMA (フレームワークとして)、OMAリソース・バンドルおよび文字列ファイルを含みます。開発者は、Xcode IDEを使用してOMAをカスタマイズできます。この項には、その実行方法に関する情報があります。OMAをカスタマイズするには、次のリソースが必要です。

  • oamms_sdk_for_ios.zipは、iOS用のIdentity Management Mobile SDKです。次の項目が含まれます。

    • libIDMMobileSDK.a

    • パブリック・ヘッダー

    • パブリック・リソース

  • OMACustomizable-11_1_2_3_0.zipは、次のカスタマイズ可能なOMAファイルを含みます。

    • OMALibrary.framework

    • OMAResources.bundle

    • ローカリゼーション・ファイル


    注意:

    ofm_oma_clients_11.1.2.3.0.zipは、OMACustomizable-11_1_2_3_0.zipおよびOracleMobileAuthenticator-11_1_2_3_0.apkファイルを含みます。後者は、13.3.1項「apktoolの使用」で使用されます。

次の各項では、詳細を説明します。

13.2.1 Xcodeの使用

必要な最小バージョンは、Xcode 6とiOS SDK 8.0です。

  1. Xcodeを開きます。

  2. 「Create a new Xcode Project」をクリックします。

  3. 「iOS」の下の「Application」を選択します。

  4. 「Single View Application」を選択して、「Next」をクリックします。

  5. 次の各フィールドに値を入力します。

    • Product Name: Acme Authenticator (例)

    • Organization Name: Acme (例)

    • Organization Identifier: この値は、Apple Developerで定義される識別子と同じです。

    • Language: Objective-C

    • Devices: このカスタマイズされたバージョンのOMAが実行されるデバイスに応じて、「Universal」/「iPhone」/「iPad」から選択します。

  6. 「Next」、「Create」の順にクリックします。

    新しいウィンドウが開いて「Acme Authenticator」プロジェクトが表示されます。

  7. 「Project Navigator」メニューで、「Acme Authenticator」プロジェクトをクリックします。

    「Acme Authenticator.xcodeproj」タブに、「Project」と「Targets」が表示されます。

  8. 「Targets」の下の「Acme Authenticator」をクリックします。

  9. 「Build Settings」をクリックします。

  10. 「Linking」の下にある「Other Linker Flags」を見つけ、その値として「-ObjC -all_load」を追加します。

  11. 「Acme Authenticator.xcodeproj」タブの下の「General」をクリックします。

  12. 次のフレームワークとライブラリを追加します

    • Security.framework

    • SystemConfiguration.framework

    • CoreLocation.framework

    • libsqlite3.dylib

  13. 「Project Navigator」の下の「Acme Authenticator」をクリックし、「Add files to Acme Authenticator」を選択します。

  14. libIDMMobileSDK.a、パブリック・ヘッダー、パブリック・リソース、OMALibrary.framework、OMAResources.bundle、ローカリゼーション・ファイルおよびディレクトリを追加します。

  15. 「AppDelegate.h file」をクリックします

  16. <#import OMALibrary/OAAppDelegate.h>を使用して、OMALibraryアプリケーション・デリゲートをインポートします

  17. 「@interface AppDelegate : UIResponder <UIApplicationDelegate>」を、次のものに置換します

    @interface AppDelegate : OAAppDelegate
    
  18. AppDelegate.mファイルをクリックして、UIApplicationDelegateメソッドをすべて削除します。

  19. 「Supporting Files」の下で、Info.plistファイルを右クリックして、「Open As Source Code」を選択します

  20. 「dict」タグの下に次のタグを追加します。

    <key>CFBundleDisplayName</key>
    <string>Acme Authenticator</string>
    
  21. カスタマイズされたアプリケーションを配布します。

    カスタマイズされたXcodeプロジェクトは、https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.htmlにある『アプリケーションの配布に関するガイド』のガイドラインに従うことによって、Acme Authenticatorを配布するために使用できます

13.2.2 Oracle Mobile Authenticatorのカスタマイズ

次の項では、カスタマイズできることについて説明します。

13.2.2.1 アプリケーション・アートの変更

OMAで使用されるアートワークは、OMAResources.bundleフォルダにあります。これらのアート・ファイルは、同じ名のファイルに置き換えることができます。表13-1は、ファイルのリストです。アプリケーションのアイコンは、https://developer.apple.com/library/ios/qa/qa1686/_index.htmlにある「Technical Q&A QA1686 : App Icons on iPad and iPhone」に従って選択できます

表13-1 カスタマイズできるアートワーク

ファイル名 ファイル・サイズ 説明

check_57.fw.png

57x57 pngファイル

通知を受け取ったときの通知履歴画面

copy.png

57x57 pngファイル

OTPをコピーするためのワンタイム・パスワード画面

cross_57.fw.png

57x57 pngファイル

通知が拒否されたときの通知履歴画面

delete.png

57x57 pngファイル

OTPアカウントを削除するためのワンタイム・パスワード画面

edit.png

57x57 pngファイル

OTPアカウントを編集するためのワンタイム・パスワード画面

gears_60.png

60x60 pngファイル

現在の構成画面ヘッダー

keyboard.png

57x57 pngファイル

オフライン・アカウント作成のためのアカウント追加画面とオフライン構成画面

notifications_57.png

57x57 pngファイル

通知プロンプトと履歴画面ヘッダー

keyboard.png

57x57 pngファイル

オンライン・アカウント作成のためのアカウント追加画面とオンライン構成画面


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

アプリケーション名は、Info.plistファイルのCFBundleDisplayNameタグの値を更新することによって変更できます。アプリケーションで使用される他のテキストは、Localizationフォルダ配下にある次のファイルから取り出されます。このテキストは変更もできます。

  • help.html: ヘルプ・ファイル・テキスト

  • privacy.html: プライバシー・ポリシー・テキスト

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

  • OALocalizable.strings: アプリケーションに表示されるメッセージ

13.2.2.3 オンラインおよびオフライン・モードの切換え

OMAは、オンラインおよびオフライン・モードをサポートします。この機能は、OMAResources.bundle/OAProperties.plistファイルを変更することによって有効または無効にできます。

13.2.2.4 アプリケーション・バージョンの変更

アプリケーション・バージョンは、Info.plistファイルのCFBundleShortVersionString値を更新することによって変更できます。

13.2.2.5 アプリケーションへの署名

https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.htmlにある『アプリケーションの配布に関するガイド』の説明に従うことによって、アプリケーションに署名できます

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

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

13.3.1 apktoolの使用

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

apktool d "..\bin\OracleMobileAuthenticator-11_1_2_3_0.apk" -o d:\oma_smali_out

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

apktool b -f -a "..\Android_SDK\build-tools\20.0.0\aapt.exe" 
  ..\oma_smali_out -o ..\oma_recompiled\temp.apk

注意:

ofm_oma_clients_11.1.2.3.0.zipは、OMACustomizable-11_1_2_3_0.zipおよびOracleMobileAuthenticator-11_1_2_3_0.apkファイルを含みます。前者は、13.2項「iOSでのOracle Mobile Authenticatorのカスタマイズ」で使用されています。

13.3.2 カスタマイズのオプション

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

13.3.2.1 アプリ・アイコンの変更

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

要件に基づいて、OMAアプリケーション・アイコンを、対応するdrawableフォルダ内で更新することもできます。アプリケーション・アイコンをカスタマイズするには、アイコン名を変更しないで、古いアイコンを新しいアイコンに置き換えます。表13-2は、カスタマイズできるアプリケーション・アイコンの説明です。念のため、アイコン名を変更しないように注意してください。

表13-2 カスタマイズできるアプリケーション・アイコン

アプリケーション・アイコンと説明 アイコン名(変更しないこと)

アプリケーション・ランチャー/南京錠の付いたOracle名

ic_launcher.png

アカウント追加用のアイコン/プラス記号

add.png

バー・コード・スキャン開始用アイコン/一般的なバーコード

barcode.png

通知の受領を示すアイコン/チェック・マーク

check.png

通知のキャンセルを示すアイコン/xマーク

cross.png

アカウント削除用アイコン/ゴミ箱

delete.png

エラー警告メッセージ表示用アイコン/感嘆符

error_alert.png

OTPコピー用アイコン(アクションバーで)/2枚の紙の画像

ic_action_copy.png

アカウント編集用アイコン/鉛筆の画像

ic_action_edit.png

キーボード表示用アイコン/キーボード画像

keyboard.png

通知表示用アイコン/吹出しの付いた球

notification.png

設定用アイコン/一般的な歯車の画像

setting.png

サインイン用アイコン/一般的な人物画像

signin.png


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

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

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

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

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

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

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

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

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

13.3.2.3 オンラインおよびオフライン・モードの切換え

Oracle Mobile Authenticatorは、オンラインおよびオフライン・モードをサポートします。この機能は、/res/raw/prop.txtファイルを変更することによって有効または無効にできます。たとえば、オフライン・モードだけをサポートするには、prop.txtファイルの内容を、例13-1のように定義します。

例13-1 Oracle Mobile Authenticatorモードのカスタマイズ

{
"configuration":
{
"online":"no",
"offline":"yes"
}
}

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

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

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

versionInfo:versionCode: '3'versionName: 'test.xx.x.x'

13.3.2.5 アプリケーションへの署名

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