二つのWebサイトがもともとあり(Saasで構築されていてそれぞれログインが必要)、
ネイティブアプリを今回作成必要があり、
SSOを導入する想定ですが、ネイティブアプリでSSOログインしたあとに、Webサイト側のAPIでのログインや、APIがないサイトをログインした状態で表示したいです。
これらをauth0でスムーズに行うためのヒントがあればいただきたいです。
自己解決した気がするので、メモしておきます。
auth0について学習し始めたばかりでわからなかったのですが、
Authorization Code Flowで解決できそうですね。
まず現状別々のWebサイトがあり、それぞれでアカウント情報を管理しています。
auth0を導入して、Webサイト側はすぐにSSOでログインが実現できます。(サイト側で、OIDCやSAMLでの認証のための設定はそれぞれ必要ですが)
ただ今回ネイティブアプリの作成が前提となっており、
一方のWebサイトAは、APIでのログイン処理やリソース取得のAPIなどがすでにありますが、
SSOには対応していません。
一方のWebサイトBは、APIでのログイン、リソース取得のためのAPIなどはありません。
WebサイトA側はネイティブアプリとしてある程度画面を再構築し、WebサイトB側はそのままアプリ内WebViewで参照する作りになります。
アプリ側でログインして、両サイトにログイン、もしくはサイトのリソースを参照する手段として、
auth0の認証認可の処理を利用することで解決できそうです。
WebサイトA側には、既存のログイン処理ではなく、
それに変わるauth0での認可処理を実装してもらい、
アプリで認可用のコードを取得し、
サイト側には既存のログインAPIとは別に、認可用APIを用意してもらい、
サイトアクセス用のトークンをログインAPIと同様に返却してもらい、
以降は通常通りのAPI利用が可能になります。
WebサイトB側には、同じく認可用APIもしくは認可用urlを新規に用意してもらい、
ログインした状態でWebサイトを開くことを可能にします。