Swift MSAL iOS

最終的なゴールは、Intune MAMを組み込んだSwiftでのiOSアプリ開発なのですが、その前段でMSAL認証を行うというのが出てきた。

MSALはMicrosoftの認証になっていて、これをSwiftに組み込むことにここ数週間取り組んでいた。

https://learn.microsoft.com/ja-jp/entra/identity-platform/tutorial-v2-ios

Swift UIに組み込むことは出来ていない。

代わりにStoryboardにMSALを組み込むことを試して、やっと認証画面が出てきた。

エラーは出てるけど、アプリからM365への認証が飛んでいることが、M365のサインインログに表示されていることからわかった!

ここを理解して、次にSwift UIにつなげていけたらいいのかな。いったんここまで。

2024年6月9日追記

ついにMSALの認証をクリアすることができた。

前回このようなエラーが出ていた。

Application XXXX is not configured as a multi-tenant application. Usage of the /common endpoint is not supported for such applications created after "10/15/2018": Use a tenant-specific endpoint or configure the application to be multi-tenant.

エラーに書かれている内容をみると、認証を /commonに対して行ったけど、このアプリはマルチテナントアプリとなっていませんよということのようだ。

Microsoft365のEntra IDセンターにアプリ登録を行う際の選択が違っていたため、このエラーとなっていたことがわかった。
アプリ登録時 シングルテナントで登録しているのに、認証を/commonに対して行ったためエラーだった。

IDセンターのアプリケーションの登録画面で、「任意の組織ディレクトリ内のアカウント(任意の Microsoft Entra IDテナント – マルチテナント)と個人用のMicrosoftアカウント(Skype、Xboxなど)」を選択すればよかったのだ。

無事に認証が完了するようになりました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です