Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Automatic Strong Password and Security Code Aut...
Search
fromkk
June 13, 2018
Programming
0
3.2k
Automatic Strong Password and Security Code AutoFill(204)
WWDC After Party 2018 at Ebisu(WWDC After Party 2018 at Ebisu)で発表してきた内容です。
fromkk
June 13, 2018
Tweet
Share
More Decks by fromkk
See All by fromkk
note社の全員野球で品質向上活動について / note_qa_challenge #iOS_test_teatime
fromkk
3
1.8k
1年分のデータが見たいと言われてやったこと/yearly_data_with_note
fromkk
0
910
note iOSチームの自動化 ver.2021/automation_with_iOS_team_on_note_ver2021
fromkk
0
1.9k
Bitrise体験会説明資料/bitrise_explore
fromkk
1
1k
noteのiOSアプリで実装したアクセシビリティの全て #iosdc #a /a11y_with_iOS_App_on_note
fromkk
2
3.5k
dSYMのアップロードで SPMを活用する/use_spm_with_upload_dsyms
fromkk
1
2.7k
Bitriseのリモートアクセス機能 #bitrise_meetup/remote_access_of_bitrise
fromkk
1
530
note社でのMagic Pod活用事例 #af_iosdc/magicpod_with_note
fromkk
2
11k
iOSには無いmacOS独自機能をCatalystで実装する #iosdc #d/make_macos_apps_with_catalyst
fromkk
9
2k
Other Decks in Programming
See All in Programming
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
620
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
190
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
920
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
400
ErdMap: Thinking about a map for Rails applications
makicamel
1
450
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
290
ゼロからの、レトロゲームエンジンの作り方
tokujiros
2
970
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
DMMオンラインサロンアプリのSwift化
hayatan
0
120
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
270
functionalなアプローチで動的要素を排除する
ryopeko
0
180
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Making the Leap to Tech Lead
cromwellryan
133
9k
Adopting Sorbet at Scale
ufuk
74
9.2k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Done Done
chrislema
182
16k
Automating Front-end Workflow
addyosmani
1366
200k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
560
Transcript
Automatic Strong Password and Security Code AutoFill(204) WWDC After party
2018 at Ebisu
Profile struct Profile { let name = "Kazuya Ueoka" let
twitter = "@fromkk" let github = "fromkk" let qiita = "fromkk" let company = "Timers Inc." } •
2017年のWWDCの復習 • Introducing Password AutoFill for Apps(206) • Webとアプリで共通のログイン情報を保持 •
Keychainを利⽤ • Appleが直接アクセスする事は無いらしい
利⽤⽅法 App IDのAssociated Domainsを有効にする
利⽤⽅法 apple-app-site-associationを有効なドメインの配下に設置する { "webcredentials": { "apps": ["XXX0123YYY.com.example.MyApps"] } }
利⽤⽅法 • プロジェクトのCapabilityからAssociated Domainsにウェブサーバーのドメインを記述する • MyProject.entitlementにドメインが記述される
UITextFieldを設定 //Ϣʔβʔ໊ userNameTextField.textContentType = .username //ύεϫʔυ passwordTextField.textContentType = .password passwordTextField.isSecureTextEntry
= true
iOS 12でのアップデート •強⼒(Strong)なパスワードの⾃動⽣成 •SMSで受け取った認証コードの⾃動補完
Strong Passwordの⾃動⼊⼒ //ύεϫʔυ - passwordTextField.textContentType = .password + passwordTextField.textContentType =
.newPassword
パスワードルール • 初期値で20⽂字のアルファベット(⼤⽂字/⼩⽂字)・数字、ハイフン が含まれる⽂字列が⽣成される • ⽂字列で指定する • バリデーション⽤のウェブページが⽤意されている https://developer.apple.com/password-rules/ let
ruleDescriptitor = "allowd: upper, lower, digit; required: [$];" passwordTextField.passwordRules = UITextInputPasswordRules(descriptor: rulesDescriptor)
SMSで受け取った認証コードの⾃動補完 codeTextField.textContentType = .oneTimeCode iPhoneで受け取ったコードをiMessage経由でmacでも利⽤可能
その他 •WKWebViewもパスワード⾃動⼊⼒をサポート •新規登録/ログインの実⾏が完了したタイミングでユー ザー名・パスワードがKeychainに保存される(ダイアロ グが表⽰される) •ユーザー名・パスワード管理画⾯もアップデート
Demo
まとめ • Keychainを利⽤してユーザー名・パスワードを記録して、アプリでもウェ ブでも利⽤出来る • Face ID/Touch IDなどの⽣体認証で保護されているので安⼼ • 新規登録時には強⼒なパスワードが⽣成出来る
• 2段階認証などのSMSで送信されるコードも⾃動⼊⼒ • 今後新規登録・ログインが必要なアプリには実装が推奨されている https://developer.apple.com/design/human-interface- guidelines/ios/user-interaction/authentication/
PR
None
絶賛エンジニア募集中!
ご清聴ありがとうございました!