Я пытаюсь настроить приложение, использующее функцию Google Smartlock, для получения учетных данных, хранящихся в менеджере паролей Google, и автоматического входа в систему. Для этого я установил тест website , где пользователь может войти (во время просмотра в Google Chrome), и если она захочет сохранить пароль для сайта, он будет сохранен в менеджере паролей Google. Образец app, который у меня должен иметь возможность автоматически получать сохраненные учетные данные и использовать их для входа на страницу содержимого приложения.Автоматическая интеграция между приложением и веб-сайтом с помощью Google Smartlock Api
Я внимательно следил за документацией. Вот файл цифровых активов размещается в корне сайта:
[{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "web",
"site": "https://officeloginsso.azurewebsites.net"
}
},
{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.mslogin.t_sopal.msloginsso",
"sha256_cert_fingerprints": [
"XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"
]
}
},{
"relation": ["delegate_permission/common.get_login_creds"],
"target": {
"namespace": "android_app",
"package_name": "com.login.codelab.sopalsmartlock",
"sha256_cert_fingerprints": [
"XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"
]
}
}]
Манифест фрагмент файла, который включает в себя ссылку на файл в формате JSON:
<application>
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
</application>
strings.xml:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://officeloginsso.azurewebsites.net/.well-known/assetlinks.json\"
}]
</string>
Приложение было опубликовано (с региональным ограничением), и был удален json-файл, который возвращает ответ:
HTTP/1.1 200 OK
Content-Type: application/json
Несмотря на это, приложение по-прежнему не может получить имя пользователя и пароль, хранящиеся на веб-сайте. Что-то мне здесь не хватает?
Я работаю над командой Smart Lock в Google: мы видим ассоциацию для com.mslogin.t_sopal.msloginsso с https://officeloginsso.azurewebsites.net, но не ком. login.codelab.sopalsmartlock ... последний опубликован в Play Маркете? Мы можем только ассоциации опубликовать приложения Play Store (может использовать альфа/бета-канал, если вам нужно сохранить его закрытым). –
Чтобы проверить, что соединение для первого приложения/пакета работает, выполните следующие действия: http://stackoverflow.com/questions/34861744/password-from-associated-website-not-retrieved-in-app-via- smart-lock-api (например, проверьте, используют ли APK подписанные с теми же ключами в версии Play Store и т. д.) –
Мой плохой. Апок был подписан с другим ключом для второго приложения. Я исправил его и теперь использую только первое приложение. Большое спасибо –