3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Auth0のSwiftサンプルを試す

Posted at

概要

Auth0が提供するauth0-ios-swift-sampleの実行環境を構築する手順を記載します。
この記事はSwiftやXcode初心者を対象としており、普段からネイティブアプリを開発している方には物足りない内容となっています。
対象のアプリはiOSを想定し、macOSは対象外とします。
また、有料の Apple Developer アカウントを未所持の手順を記載します。

手順

事前準備

Xcodeは事前にAppStore経由でインストールしておく。
auth0-ios-swift-sampleをローカルにクローンしておく。

Xcodeでリポジトリを開く

クローンした../auth0-ios-swift-sample/Sample-01/SwiftSample.xcodeprojをFinder上でダブルクリックする。
スクリーンショット 2025-05-08 0.06.47.png

Xcode上でauth0-ios-swift-sampleが開かれる。

バンドルIDを取得する

ナビゲーターエリア(左側のウィンドウ)にてプロジェクト名:SwiftSampleを選択する。
エディターエリアのSigning&Capabilitiesタブを選択する。
BundleIdentifierはバンドルIDとしてAuth0で使用するため控えておく(変更可能)。
スクリーンショット 2025-05-08 0.10.24.png
Associated Domainsのwebcredentials:YOUR_AUTH0_DOMAINは後ほど編集する。

Auth0にアプリケーションを追加する

Auth0にログインし、テナントにアクセスする。
左のメニューからアプリケーション>アプリケーションを選択する。
アプリケーションを作成ボタンを押下する。
アプリケーションの種類はネイティブを選択すること。
スクリーンショット 2025-05-08 0.19.59.png
作成したアプリケーションにて、設定タブを選択し「許可されたコールバック URL 」と「許可されたログアウト URL 」を設定する。

iosの場合
https://YOUR_AUTH0_DOMAIN/ios/YOUR_BUNDLE_IDENTIFIER/callback,
YOUR_BUNDLE_IDENTIFIER://YOUR_AUTH0_DOMAIN/ios/YOUR_BUNDLE_IDENTIFIER/callback

YOUR_AUTH0_DOMAINにはAuth0で作成したアプリケーションのドメインを設定する。
YOUR_BUNDLE_IDENTIFIERにはXcode上で控えておいたバンドルIDを設定する。

Associated Domainsを変更する

Associated Domainsのwebcredentials:YOUR_AUTH0_DOMAINを変更する。
YOUR_AUTH0_DOMAINにはAuth0のドメインを設定する。

webcredentials:dev-xxxxxxxxxxxxxxxx.xx.auth0.com

保存ボタン等は特にありません。

useHTTPS()のコメントアウト

26行目、40行目のuseHTTPS()をコメントアウトする。

MainView.swift
extension MainView {
    func login() {
        Auth0
            .webAuth()
//            .useHTTPS() // Use a Universal Link callback URL on iOS 17.4+ / macOS 14.4+
            .start { result in
                switch result {
                case .success(let credentials):
                    self.user = User(from: credentials.idToken)
                case .failure(let error):
                    print("Failed with: \(error)")
                }
            }
    }

    func logout() {
        Auth0
            .webAuth()
//            .useHTTPS() // Use a Universal Link logout URL on iOS 17.4+ / macOS 14.4+
            .clearSession { result in
                switch result {
                case .success:
                    self.user = nil
                case .failure(let error):
                    print("Failed with: \(error)")
                }
            }
    }
}

Auth0.plistを作成する

Xcodeのナビゲーターエリアにて、プロジェクトを開くとAuth0.plistのファイル名が赤字になっている。
これはファイルが存在しないことを意味している。
スクリーンショット 2025-05-08 0.30.07.png
FinderにてSample-01ディレクトリを開く。
Auth0.plist.exampleAuth0.plistにリネームし、plistファイルとして認識させる。
スクリーンショット 2025-05-08 0.31.58.png
Xcode上で確認するとplistのファイル名が赤字から黒字に反映されている。

plistの設定

Xcode上でplistを開きDomainとClientIdのValueを設定する。
どちらの値も先ほど作成したAuth0のアプリケーションの画面にて取得できる。

Xcode上で実行

SampleAppが自動で開かれる。
Loginボタンを押下すると認証画面が開き、ログイン/サインアップが行える。
スクリーンショット 2025-05-08 0.44.06.png

実際にログインすることで、下記情報を確認できます。

  • アイコン画像
  • ユーザID
  • ユーザ名
  • メールアドレス
  • メール検証有無
  • 更新日
3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?