0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「パスキーのすべて」iOSアプリ用サーバサンプルの動かし方

Last updated at Posted at 2025-08-04

2025年1月28日に、「パスキーのすべて」という本を技術評論社から共著で出版しました。

passkey-Aplus.png

おかげさまでいろんな方に読んで頂き、ご好評頂いています。
本書の付録として、iOS用のサンプルアプリを含めているのですが、それを動かすためのサーバプログラムを、無料でサーバをホストできる Glitch で動かす前提で説明を書いていました。
ですが、2025年7月をもって、Glitch はサービス終了となってしまいました。

Glitch に変わって、Google CloudのCloud Runを利用して動作させる方法をここで説明させていただきます。

Cloud Runとは

Google Cloudでコンテナを実行するサービスです。無料実行枠もあるので、簡単なテストサーバであれば無料で利用することができます。
Githubのレポジトリから、ブラウザ上でボタンをポチポチするだけでWebサーバを立てることができるのでとても便利です。
細かい説明や利用開始までの手続きは省略します。

注意事項:DBの永続化は行っていません。

今回作成したサンプルアプリ上でユーザ登録やパスキーの登録を行っても、数分経ってコンテナが終了すると、データは消えてしまいますので注意してください。

こういう心配をしなくて良かったのはGlitchの非常に便利な点だったのですがね・・・。

まずはGithubで Fork

こちらのレポジトリをご自身のGitHubアカウントでForkしてください。
https://github.com/kkoiwai/passkey-example

Cloud Runの設定

Google Cloudのコンソールから Cloud Runの画面に行って、「コンテナをデプロイ」を押します。
image.png

「リポジトリから継続的にデプロイする(ソースまたは関数)」を選択して、「Cloud Build の設定」を押します、
image.png

Cloud Buildの設定で、フォークしたレポジトリを選択してください。初回は GitHubアカウントと連携する必要があります。
image.png

ご自身のレポジトリを選択して「次へ」を押します。
image.png

ビルドタイプに 「Go、Node.js、Python、Java、.NET Core、Ruby、PHP(Google Cloud の Buildpacks を使用)」を選択します。それ以外は何も入力せずに「保存」を押してください。
image.png

サービスの名前を決めて、リージョンを選択します。認証は「公開アクセスを許可する」を選択します。
image.png

課金はリクエストベースにしておきます。
サービスのスケーリングは手動にして、インスタンスの最小数を0、最大数を1にして、不要な課金を防ぎます。

image.png

Ingressはそのままにして、その下の「コンテナ、ボリューム、ネットワーキング、セキュリティ」をクリックします。
image.png

コンテナの編集の下にある、「環境変数」から、「変数を追加」を押します。
image.png

名前に「IOS_APPID」、値にご自身の AppIDを入力してください。大文字小文字は区別されるので気をつけてください。
そのほかの設定はそのままにして、「作成」を押してください。
image.png

数分待つと、ビルドが完了するので、完了後のサイトにアクセスし、AASAファイルが表示できることを確認して完了です。

image.png

iOSサンプルアプリの設定

あとは「パスキーのすべて」217ページからの通りです。Associated Domainsの設定と、ソースコード内部のドメインを書き換えて、実行してみてください。

Pull Request 募集しています。

サーバサンプルは、Glitch で動作させるため、Nodeのバージョンが16にしているなど、実サービスで参考にするには不十分なところが多いです。
改善点あれば是非 Pull Requestをお送りください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?