Xcode 9 で、手持ちの iPad に自作アプリを送り出せる事を確認してばかりで、Swift でクラスを作る方法すらまだわかっていないのに、気が早い。もう Azure Active Directory との認証を実装するかを調べてみた。
Xcode 9 は古すぎる
Azure Active Directory との認証を果たすための第一の方法は、MSAL ライブラリの使用となるが。いきなりこんな情報をみつけた。
“Versions of MSAL for iOS after 1.0.7 require the iOS 13 SDK.”
おっと。MSALに要件があるのか。当たり前か。
https://developer.apple.com/jp/support/xcode/
https://qiita.com/rotors123/items/ea2af739b330b11c906b
これを見ると、Xcode 9.4.1 がサポートする iOS SDK のバージョンは11 までである。詰んだ。MSALの古いバージョンは、Xcode 9.4.1 をサポートするそうだが、2018年のものなので、現状の Azure に接続できるか怪しい。
ということで、Azure に対しては、常にデーモンアカウントでアクセスするものしか、Xcode 9では作れないのが確定した。いまのところ、接続先は Microsoft Graph API なのでそれでもいいのだけれど。仮に「電子カルテ」などとかをクラウド中のサービスを使って記録するシステムを試作するとなれば、Azure AD B2C の利用はまず考える必要がある。
新しいMacintosh を買った後の為のメモ
この学習意欲が半年維持できれば、それなりのアプリが私にも書けるようになり、顧客管理を前提としてアプリを配布するものを試作する事になる。そうなった場合の時の為に、今日見つけた情報をメモしておく。
チュートリアル:iOS または macOS アプリからユーザーのサインインを行い、Microsoft Graph を呼び出す
https://learn.microsoft.com/ja-jp/azure/active-directory/develop/tutorial-v2-ios
MSALのインストールについて詳しい説明がある。まずこれが第一歩。
Azure AD B2C を使用してサンプル iOS Swift アプリケーションで認証を構成する
https://learn.microsoft.com/ja-jp/azure/active-directory-b2c/configure-authentication-sample-ios-app
マイクロソフト社も親切になったもので、Azure AD B2C からアクセストークンをもらうサンプルコードやらライブラリを Swift 言語で使う方法を提示してくれている。
単純にMSALを使うという点では様々にサンプルが転がっているので、これらも試してみる。
https://iosexample.com/sample-project-to-login-with-msal-using-swiftui/
https://github.com/Azure-Samples/ms-identity-mobile-apple-swift-objc
初版 2023年4月5日