Created
June 21, 2018 10:57
-
-
Save niwatako/2cafa54f3558966a63bbd6baef8932fb to your computer and use it in GitHub Desktop.
WWDCのセッションから、パスワードのAutofillの紹介 #CodePiece #potatotips
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
potatotips #52 (iOS/Android開発Tips共有会) - connpass | |
https://potatotips.connpass.com/event/88164/ | |
## kishikawakatsumi 岸川克己 WWDCのセッションから、パスワードのAutofillの紹介 | |
Automatic Strong Passwords and Security Code AutoFill | |
自動でパスワードを生成してくれる機能がありました。 | |
Security Code AutoFillは2段階認証のコードがSMSで届いたときにサジェストされる。画面を離れる必要がない。 | |
Safariではできたのですが、これがiOS12からアプリでもできるようになる。 | |
重要なのはAssociated Domains を正しく設定しておく必要がある。 | |
`webcredentials` を設定するが、Universalinksなどを設定(applinks)していれば改めて `webcredentials` も設定する必要はない。 | |
### Autofill iOS11〜? | |
TextFieldにUisernameやPassWordであることを指定しておくとキーボードからKeychainに保存されたパスワードを探すことができるようになる。 | |
OSがパスワードを見つけると提案される。複数ヒットすれば複数の選択肢が現れる。 | |
### Automatic Strong Passwords iOS12〜 | |
TextFieldに New Password 入力欄であることを指定しておくと、Usernameのサジェスチョンと、対応するパスワードを生成して入力・保存してくれる。 | |
UsernameのタイプはKeybordTypeによって決まる。defaultだとEmailが出てきたりするようになる。 | |
このKeyboardTypeはこれから重要な役割を果たすことになる。 | |
ローカライズが可能で、ローカライズに指定した言語で勝手に選ばれる。 | |
Doneボタンがローカライズされないときはローカライズ設定を見直してください。 | |
iOSの生成するパスワードのルールが自分のシステムに合わない場合は | |
Password Rules Validation Tool でパスワードのパターンを定義する。 | |
それをTextFieldに指定しておくと、そのルールに沿ったパスワードが設定される。 | |
いまのところルールを設定する口は、SessionではXcodeからやっていたが、現状コードから指定する必要がある。 | |
うまく動かなかったら画面にTextField足すとなんか動き出したのでまだ不具合がありそう。 | |
生成されたパスワードを保存させるには、トリガーが不明。保存してくれる部分はまだ作られていなさそう。 | |
Keychainに取り込まれるようになるとは思う。 | |
### Security Code AutoFillの入力 | |
Security Code AutoFill は、関係ないSMSにも反応します。 | |
タイミング悪くよそのメールでコードっぽいものが届くとそれが補完されてしまう。 | |
SMSによる2段階認証は、SMS基盤自体が脆弱という指摘もあるのでGoogleAuthenticatorとかを使う場合もあると思います。そのような場合には意味がないと思います。 | |
Failure Cases | |
カギカッコで囲まれたCodeは補完対象にならなかった。 | |
そういうパターンを見つけたらバグレポート送って欲しいらしい | |
- 対応コストは低いので対応しておくと離脱を防げる | |
- OSバージョンの違いでは受けられるサポートのレベルの違いなのでとりあえず対応して損なし | |
- ルールによって正しいパスワードが生成されるかのテストはできない |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment