Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WebView認証連携

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 WebView認証連携

Swift愛好会での発表資料です。

Avatar for mahiguch

mahiguch

April 15, 2022
Tweet

More Decks by mahiguch

Other Decks in Technology

Transcript

  1. Copyright © aumo, Inc. All Rights Reserved. Masahiro Higuchi/樋口雅拓 •

    グリーグループのアウモ株式会社で、aumo というおでか け領域のメディアを作っています。ゲーム会社ですが、最 近はメディアに力を入れています。 • ソフトウェアエンジニアで、サービスの立ち上げに関わる ことが多いです。twitter: @mahiguch1 • アイコンを12年使い続けたら実態に合わなくなったので、 変えようかなと思ってます。
  2. Copyright © aumo, Inc. All Rights Reserved. 国内最大級の おでかけ情報サービ ス

    50万 50万 掲載記 事数 総口コミ 数 掲載メディア 数 500 Copyright © aumo, Inc. All Rights Reserved. appカテゴリランキング両 OS首位 「Google Play ベスト オブ 2018」ベスト アプリ 2018 生活お役立ち部門 優秀賞 ※2019年1月 時点 aumoとは? 1500万 500万 月間ユー ザー数 アプリDL 数 月間流通額 12億円
  3. Copyright © aumo, Inc. All Rights Reserved. 解決したい課題 • WebServerはセッション

    Cookieで認証している。 • API ServerはOAuth access tokenで認証している。 • アプリはOAuth tokenは持って いるが、セッションCookieは 持っていない。 この課題を解決したい! WebViewで認証が必要な画面を表示したい

  4. Copyright © aumo, Inc. All Rights Reserved. 課題解決手法 • OAuth

    tokenで認証して、セッ ションをSet-Cookieする endpointを作った。 • レスポンスはポイント画面にリダ イレクト。 • ポイント画面に行く前にこの endpointを叩くことで、認証必 須のポイント画面を表示できる ようにした。 これでリリースと思ったが。。 OAuth tokenとセッションCookieを交換するAPIで解決

  5. Copyright © aumo, Inc. All Rights Reserved. 想定外の不具合 メールアドレスが登録されていなけ れば、設定画面に飛ぶ仕様。

    設定画面でメールアドレスを登録し た後ポイント画面を表示しようとする と、またメールアドレス設定画面に 飛ぶ。 なんだこれ??? 不具合の内容

  6. Copyright © aumo, Inc. All Rights Reserved. 想定外の不具合 • メールアドレス登録後にサーバから取得し

    たユーザ情報が登録前のものだった。それ を見て再度登録画面に飛んでいた。 • サーバから取得しないようにして、アプリ内 の情報を更新した所、今度は認証が通ら なくなった。 なんだこれ? 失敗した対応策

  7. Copyright © aumo, Inc. All Rights Reserved. 想定外の不具合 DispatchQueue.main.asyncAfter( deadline:

    .now() + .milliseconds(60000)) { User.updateMyInfo {_ in} } 応急処置
 キャッシュの有効期限は1分間なので、1分後に更新するようにした。た だ、1分間は認証が通らない状態となるので、より良い解決法があれば 教えて欲しい。

  8. Copyright © aumo, Inc. All Rights Reserved. まとめ • ポイント機能をリリースした。

    • しかし、メアド登録後1分間はポイント画面を見れない状態。 • 根本対応を行うので、良いアイデアがあれば教えて欲しい。 ご清聴、ありがとうございました! 【雑談】 Xcode 13.3.1に上げたら、archiveで”Incremental compilation has been disabled: it is not compatible with whole module optimization on Release build configuration”というエラー。13.2.1 に下げたら解消。原因が分からずもやもやしているので、何かご存 知の方がいましたら、声をかけてください。