概要
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上でダブルクリックする。
Xcode上でauth0-ios-swift-sampleが開かれる。
バンドルIDを取得する
ナビゲーターエリア(左側のウィンドウ)にてプロジェクト名:SwiftSampleを選択する。
エディターエリアのSigning&Capabilitiesタブを選択する。
BundleIdentifierはバンドルIDとしてAuth0で使用するため控えておく(変更可能)。
Associated Domainsのwebcredentials:YOUR_AUTH0_DOMAINは後ほど編集する。
Auth0にアプリケーションを追加する
Auth0にログインし、テナントにアクセスする。
左のメニューからアプリケーション>アプリケーションを選択する。
アプリケーションを作成ボタンを押下する。
アプリケーションの種類はネイティブを選択すること。
作成したアプリケーションにて、設定タブを選択し「許可されたコールバック URL 」と「許可されたログアウト URL 」を設定する。
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()をコメントアウトする。
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のファイル名が赤字になっている。
これはファイルが存在しないことを意味している。
FinderにてSample-01ディレクトリを開く。
Auth0.plist.example
をAuth0.plist
にリネームし、plistファイルとして認識させる。
Xcode上で確認するとplistのファイル名が赤字から黒字に反映されている。
plistの設定
Xcode上でplistを開きDomainとClientIdのValueを設定する。
どちらの値も先ほど作成したAuth0のアプリケーションの画面にて取得できる。
Xcode上で実行
SampleAppが自動で開かれる。
Loginボタンを押下すると認証画面が開き、ログイン/サインアップが行える。
実際にログインすることで、下記情報を確認できます。
- アイコン画像
- ユーザID
- ユーザ名
- メールアドレス
- メール検証有無
- 更新日