『入る学科間違えた高専生』の日記

プログラミングのコードを書いたりする予定です。あとは日記等。あといつまで高専生やねん

Sign in with Apple のトークン取り消しを実装してみた

この記事はフラー株式会社 Advent Calendar 2022 12日目の記事です。
11日目の記事は @ManabuSeki さんで「X-Accel-RedirectとgoでS3ファイルに認証をつけて配信する方法」でした。
(10日目と12日目を担当することにしたので完全に囲む形になってしまった。)


  • はじめに
  • 環境
  • 準備
    • 今回の記事での流れ
    • REST API に使用する秘密鍵の生成
    • client_secret を作る共通メソッド
    • アプリを作る
  • SiwA のリフレッシュトークンの取得
  • SiwA トークンの取り消し
  • ユーザの操作による取り消しへの対応
    • Server to Server Notification Endpoint の設定
    • リクエストのペイロード
    • Apple の署名を検証するための公開鍵の取得
    • 署名の検証
    • イベントについて
    • サーバサイド側の修正
    • クライアント側の修正
    • SiwA リフレッシュトークンの削除
  • 最後に

はじめに

Sign in with Apple (以下、 SiwA ) 使用していますか?

developer.apple.com

SiwA は WWDC2019 で発表された Apple ID によるシングルサインオンの仕組みです。
iOS アプリや macOS アプリ以外にも Web や Android にも実装ができ、実装自体も簡単にできるようになっています。

しかしながら2021年10月6日、突如としてアプリ内での退会機能の提供が必須となるレビューガイドラインが追加されることが明らかになりました。*1
実際適用されるまでに延期がありましたが2022年6月30日からそのガイドラインが適用されました。*2

その中に以下のような表記があります。

Appleでサインインに対応したAppでは、AppleでサインインのREST APIを使用して、アカウントの削除時にユーザーのトークンを無効化する必要があること。

おっと...これどうすんだ...
少なくと私はそうなりました。

すでにマネーフォワードさんなどが記事に書かれていますが、私自身でも理解するために記事にすることにしました。

moneyforward.com

続きを読む

Vonage Verify API を使ってみた

この記事は Vonage Advent Calendar 2022 の10日目の記事です。

qiita.com


  • はじめに
    • Verify API とは
  • 環境
  • デモを使ってみる
  • 電話番号のレンタル
  • サーバサイド開発
    • SDK のインストール
    • 前準備
    • Verify を始める API の作成
    • PIN コードを検証する API の作成
    • キャンセルをする API の利用
  • クライアント開発
  • 思ったこととか
  • 最後に

はじめに

今回は Vonage さんの提供しているサービスの1つの Verify API を使用してみたよという記事です。

Verify API とは

www.vonagebusiness.jp

まず今回使用する Verify API とは、二要素認証を開発しているサービスやソフトウェアに組み込むための API です。
二要素認証としてよくあるのはメールアドレスとパスワードを入力してもらい(知的要素) SMS を受け取れる電話番号に PIN コードを送信してユーザにその PIN コードをサービスやソフトウェアに入力してもらうような所有による認証(所有要素)が挙げられるかと思います。

Verify API でも上記のような所有要素による二要素認証ができるので今回もそれに従って実装をしていきます。

developer.vonage.com

初めてで何から手を付けたらいいのかわからないのでドキュメント通り進めて行こうと思います!
以前からアカウントは持っていたのでアカウントは作成済みです!( iOSDC Japan 2022 で中の人とお話をさせていただいた)

続きを読む

Firebase App Distribution で配信するための CircleCI Orb を自作した

この記事はフラー株式会社 Advent Calendar 2022 10日目の記事です。
9日目の記事は @su8 さんで「【突撃!自分の本棚】エンジニアの本棚卸し 2022」でした。

僕もおっきな本棚ほしい〜


  • はじめに
  • 成果物
    • 改善ポイント
  • Orb の実装
    • CLI のセットアップ
    • Orb の初期セットアップ
    • Orb の実装
  • Orb の公開
  • nnsnodnb/firebase-app-distribution Orb の使い方
  • 最後に

はじめに

みなさんは CircleCI 使っていますか?
CircleCI には Orb という名前で普段みなさんが何かしらのソフトウェア開発しているときに使用するライブラリのようなものが提供されています。
この Orb は CircleCI が公式として提供していたり、サードパーティとして有志が開発をしてくれていたりします。

今回は、その Orb を自作してみたことについて記事にしていきます。

circleci.com

続きを読む

Swift Package Manager ライブラリを xcframework ビルドする

はじめに

タイトル通り Swift Package Manager (以下 SwiftPM) で作ったライブラリを xcframework にする方法を n 番煎じですが備忘録がてら書きます。

xcframework についてはこちら

developer.apple.com

環境

Mint を使って上記で前置きした CLI ツールをインストールした。

github.com

最近まで Xcode12.5.1 環境がないとビルドができなかったが Xcode13.x でもビルドが可能な状態になっていました!!

  • Xcode 13.4
    • Swift 5.6.1
  • Mint 0.17.1
    • swift-create-xcframework v2.2.0
続きを読む

Aqoursのライブに関係者席で入らせてください!