LoginSignup
2
0

More than 1 year has passed since last update.

Android Studio と IBM Security Verify SDKをはじめて触ってみる④

Last updated at Posted at 2021-08-04

はじめに

②の記事で、Authenticator Demoアプリを使ってQRCode読み取ったあと、デバイスの検証に進むことができませんでした。なぜデバイスの検証に進めないのか調べてみました。
Android Studio と IBM Security Verify SDKをはじめて触ってみる②

androidStudio (26).png

オーセンティケータの状態を、/v1.0/authenticators APIを用いて比較してみました。

1.IBM Security VerifyアプリでQRCodeを読み取った場合

まず最初に、IBM Security Verifyアプリを使ってQRCodeを読み取り、指紋認証まで実施したときのオーセンティケータを確認しました。

{
    "total": 1,
    "authenticators": [
        {
            "owner": "75500008BB",
            "clientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "creationTime": "2021-08-04T03:21:53.635Z",
            "attributes": {
                "applicationVersion": "2.5.0",
                "deviceType": "SOV37",
                "accountName": "testuser",
                "platformType": "Android",
                "pushToken": "yyyy~~~~~~yyyyy",
                "deviceName": "SOV37",
                "deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                "fingerprintSupport": true,
                "verifySdkVersion": "2.1.4",
                "osVersion": "10",
                "frontCameraSupport": true,
                "faceSupport": false,
                "applicationId": "com.ibm.security.verifyapp"
            },
            "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "state": "ACTIVE",
            "enabled": true
        }
    ],
    "limit": 200,
    "count": 200,
    "page": 1
}

2.Authenticator DemoアプリでQRCodeを読み取った場合

次にAuthenticator Demoアプリを使い、オーセンティケータ登録/確認しました。
IBM Security Verifyアプリとの違いとしては以下の点がありました。

  • PushTokenが空白
  • Stateが"ENROLLING"になっている

StateがActiveになっていないため、デバイスの検証に進めまないようでした。

また、Push通知に関するコードは実装されていないため、PushTokenが設定されていませんでした。

{
    "total": 1,
    "authenticators": [
        {
            "owner": "75500008BB",
            "clientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "creationTime": "2021-08-04T01:52:34.825Z",
            "attributes": {
                "applicationVersion": "1.0",
                "deviceType": "SOV37",
                "accountName": "testuser",
                "platformType": "Android",
                "pushToken": "",
                "deviceName": "SOV37",
                "deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                "fingerprintSupport": true,
                "verifySdkVersion": "2.1.4",
                "osVersion": "10",
                "frontCameraSupport": true,
                "faceSupport": false,
                "applicationId": "com.ibm.security.verifyapp"
            },
            "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "state": "ENROLLING",
            "enabled": true
        }
    ],
    "limit": 200,
    "count": 200,
    "page": 1
}

3.Stateを"ENROLLING"から "ACTIVE"に変更するには?

Push通知が来ないため、多要素認証としてまだ利用できませんが、
とりあえずStateを"ENROLLING"から "ACTIVE"に変更できないかと試行錯誤しました。

結果としては、refreshを行うことでStateが"ACTIVE"に変わりました。

androidStudio (47).png

AuthenticatorContext.sharedInstance().refresh(mfaAuthenticator,
 new IResultCallback<Void>() {
@Override                                                                            public void handleResult(Void unused, VerifySdkException e) {
}
});

StateがACTIVEになると、デバイスの検証ボタンがクリックできる状態になりました。
androidStudio (48) .png

最後に

全4回にわたりIBM Security Verify SDK+デモアプリケーションを使ってなにができるのか試行錯誤してみました。

(一覧)
Android Studio と IBM Security Verify SDKをはじめて触ってみる①
Android Studio と IBM Security Verify SDKをはじめて触ってみる②
Android Studio と IBM Security Verify SDKをはじめて触ってみる③
Android Studio と IBM Security Verify SDKをはじめて触ってみる④

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0