이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

Android 용 FIDO2 API

FIDO2 API를 사용하면 Android 애플리케이션이 사용자 인증을 위해 강력하고 입증 된 공개 키 기반 자격 증명을 만들고 사용할 수 있습니다. API는 BLE, NFC 및 USB 로밍 인증 자 (보안 키) 사용을 지원하는 WebAuthn 클라이언트 구현과 사용자가 지문 또는 화면 잠금을 사용하여 인증 할 수있는 플랫폼 인증자를 제공합니다.

완성

FIDO2 API 진입 점은 Fido2ApiClient 입니다.

API는 두 가지 작업을 지원합니다.

  • 사용자가 인증자를 계정과 연결할 때 계정 당 인증 자당 한 번씩 등록 이 수행됩니다.
  • 신뢰 당사자가 사용자를 인증하려고 할 때마다 서명 이 수행됩니다.

등록과 서명 모두 사용자 상호 작용이 필요합니다.

API 사용을 보여주는 샘플 애플리케이션은 https://github.com/android/security-samples/tree/master/Fido 에서 찾을 수 있습니다.

웹 사이트와의 상호 운용성

사용자가 웹 사이트와 Android 애플리케이션에서 자격 증명을 원활하게 공유 할 수 있도록하는 것은 간단합니다. 그렇게하려면 Digital Asset Links를 활용 하십시오 . 웹 사이트에서 Digital Asset Links JSON 파일을 호스팅하고 앱 매니페스트에 Digital Asset Link 파일에 대한 링크를 추가하여 연결을 선언 할 수 있습니다.

예를 들어 https://example.com 을 Android 앱 com.example.android 와 연결하려는 경우 다음 3 가지 필수 단계가 있습니다.

1 단계. 도메인에서 assetlinks.json 호스팅

이와 같은 JSON 파일을 만들고 https://example.com/.well-known/assetlinks.json 에서 호스팅합니다.

[
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "web",
      "site" : "https://example.com"
    }
  },
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "android_app",
      "package_name" : "com.example.android",
      "sha256_cert_fingerprints" : [
         "DE:AD:BE:EF"
      ]
    }
  }
]

Google에서 크롤링 할 수 있고 HTTP 헤더 Content-Type: application/json 과 함께 제공되는지 확인합니다.

Android 앱에서 <application> 아래의 매니페스트 파일에 다음 줄을 추가합니다.

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

3 단계. strings.xml 파일에 asset_statements 문자열 리소스 추가

asset_statements 문자열은로드 할 assetlinks.json 파일을 지정하는 JSON 객체입니다. 문자열에 사용하는 아포스트로피와 따옴표는 이스케이프해야합니다. 예를 들면 :

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>

앱과 웹 사이트를 연결하는 방법에 대해 자세히 알아 보려면 Android에서 비밀번호 용 SmartLock 문서를 읽어 보세요 .