Oracle® Fusion Middleware Oracle Access Management開発者ガイド 11gリリース2 (11.1.2.3.0) for All Platforms E67354-04 |
|
前 |
次 |
Oracle Mobile Authenticatorは、時間ベースのワンタイム・パスワード(TOTP)を使用し、通知をプッシュしてユーザーを認証するモバイル・デバイス・アプリケーションです。Oracle Mobile Authenticatorモバイル・デバイス・アプリケーションは顧客向けなので、会社を表すようにカスタマイズできます。
この章では、Oracle Mobile Authenticatorに会社のロゴとカラーによるブランディングを施すために使用できる手順を説明します。この章には次の項目があります。
Oracle Access Managementアダプティブ認証サービスを使用すると、ユーザー認証プロセスに複数の手順を追加できます。この追加セキュリティを適用するには、OTPステップまたはアクセス・リクエスト(プッシュ)通知ステップを初回のユーザー認証後に追加します。場合によっては、強制にOracle Mobile Authenticator (OMA: 時間ベースのワンタイム・パスワードを使用し、通知をプッシュして第2ファクタ認証スキームでユーザーを認証するモバイル・デバイス・アプリケーション)の使用が含まれます。Adaptive Authentication Serviceの詳細と、OMAとの併用については、『Oracle Fusion Middleware Oracle Access Management管理者ガイド』を参照してください。
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の使用」で使用されます。 |
次の各項では、詳細を説明します。
必要な最小バージョンは、Xcode 6とiOS SDK 8.0です。
Xcodeを開きます。
「Create a new Xcode Project」をクリックします。
「iOS」の下の「Application」を選択します。
「Single View Application」を選択して、「Next」をクリックします。
次の各フィールドに値を入力します。
Product Name: Acme Authenticator (例)
Organization Name: Acme (例)
Organization Identifier: この値は、Apple Developerで定義される識別子と同じです。
Language: Objective-C
Devices: このカスタマイズされたバージョンのOMAが実行されるデバイスに応じて、「Universal」/「iPhone」/「iPad」から選択します。
「Next」、「Create」の順にクリックします。
新しいウィンドウが開いて「Acme Authenticator」プロジェクトが表示されます。
「Project Navigator」メニューで、「Acme Authenticator」プロジェクトをクリックします。
「Acme Authenticator.xcodeproj」タブに、「Project」と「Targets」が表示されます。
「Targets」の下の「Acme Authenticator」をクリックします。
「Build Settings」をクリックします。
「Linking」の下にある「Other Linker Flags」を見つけ、その値として「-ObjC -all_load」を追加します。
「Acme Authenticator.xcodeproj」タブの下の「General」をクリックします。
次のフレームワークとライブラリを追加します
Security.framework
SystemConfiguration.framework
CoreLocation.framework
libsqlite3.dylib
「Project Navigator」の下の「Acme Authenticator」をクリックし、「Add files to Acme Authenticator」を選択します。
libIDMMobileSDK.a、パブリック・ヘッダー、パブリック・リソース、OMALibrary.framework、OMAResources.bundle、ローカリゼーション・ファイルおよびディレクトリを追加します。
「AppDelegate.h file」をクリックします
<#import OMALibrary/OAAppDelegate.h>を使用して、OMALibraryアプリケーション・デリゲートをインポートします
「@interface AppDelegate : UIResponder <UIApplicationDelegate>」を、次のものに置換します
@interface AppDelegate : OAAppDelegate
AppDelegate.mファイルをクリックして、UIApplicationDelegateメソッドをすべて削除します。
「Supporting Files」の下で、Info.plistファイルを右クリックして、「Open As Source Code」を選択します
「dict」タグの下に次のタグを追加します。
<key>CFBundleDisplayName</key> <string>Acme Authenticator</string>
カスタマイズされたアプリケーションを配布します。
カスタマイズされたXcodeプロジェクトは、https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html
にある『アプリケーションの配布に関するガイド』のガイドラインに従うことによって、Acme Authenticatorを配布するために使用できます
次の項では、カスタマイズできることについて説明します。
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ファイル |
オンライン・アカウント作成のためのアカウント追加画面とオンライン構成画面 |
アプリケーション名は、Info.plistファイルのCFBundleDisplayNameタグの値を更新することによって変更できます。アプリケーションで使用される他のテキストは、Localizationフォルダ配下にある次のファイルから取り出されます。このテキストは変更もできます。
help.html: ヘルプ・ファイル・テキスト
privacy.html: プライバシー・ポリシー・テキスト
eula.txt: エンド・ユーザー・ライセンス契約
OALocalizable.strings: アプリケーションに表示されるメッセージ
OMAは、オンラインおよびオフライン・モードをサポートします。この機能は、OMAResources.bundle/OAProperties.plistファイルを変更することによって有効または無効にできます。
アプリケーション・バージョンは、Info.plistファイルのCFBundleShortVersionString値を更新することによって変更できます。
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html
にある『アプリケーションの配布に関するガイド』の説明に従うことによって、アプリケーションに署名できます
Oracle Mobile Authenticatorは、Androidアプリケーション・パッケージ(.apk)として顧客に出荷されます。apktool
は、Androidアプリケーションを逆コンパイル、変更、および変更とともにリビルドすることができるツールです。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のカスタマイズ」で使用されています。 |
次の各項では、Oracle Mobile Authenticator Androidアプリケーションのカスタマイズ・オプションについて説明します。
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 |
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
Oracle Mobile Authenticatorは、オンラインおよびオフライン・モードをサポートします。この機能は、/res/raw/prop.txtファイルを変更することによって有効または無効にできます。たとえば、オフライン・モードだけをサポートするには、prop.txt
ファイルの内容を、例13-1のように定義します。
アプリケーションのバージョンとコード番号を変更するには、.apkファイルの内容が逆コンパイルされているディレクトリにあるapktool.yml
の詳細を変更します。apktool.ymlファイルは、任意のテキスト・エディタで表示、変更できます(「apktoolの使用」を参照)。例13-2に示すように、versionCodeおよびversionNameパラメータはversionInfoプロパティの下にあります。この例では、バージョン名が、デフォルト値の11.1.2.3.0からtest.xx.x.xに変更されました。
Androidでは、インストールの前に、すべてのアプリケーションがデジタル署名されている必要があります。Androidでは、証明書を使用してアプリケーションの作成者を識別します。証明書は認証局によって署名されなくともよいので、Androidアプリケーションは自己署名証明書をよく使用します。このAndroid要件に関する追加の詳細とそのプロセス(アプリケーションに署名するために使用できる手順など)は、http://developer.android.com/tools/publishing/app-signing.html#signing-manually
で説明されています。