SAML の場合
エラー メッセージ
AADSTS700016: Application with identifier 'https://random.com' was not found in the directory 'テナント ID'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.
SAML Request 内の Issuer の値が、アプリの識別子 (Name ID) と一致しないので怒られてる。
SAML リクエスト内の Issuer 要素を見てみよう
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://random.com</saml:Issuer>
https://random.com を指定してる。
Azure AD の エンタープライズ アプリケーションの設定
確認画面 : Azure ポータル > [Azure Active Directory] > [エンタープライズ アプリケーション] > (対象のアプリ) > [シングル サインオン] > [基本的な SAML 構成]
確認項目 : [識別子 (エンティティ ID)]
SAML Request 内の Issuer で指定する値は、ここで設定されている識別子のいずれかに一致しなきゃいけない。
Open ID Connect の場合
エラー メッセージ
AADSTS700016: Application with identifier '7880db84-e5c4-4c55-87a5-7db9f5031ac6' was not found in the directory '17ebfadb-0bd6-49fe-8dce-a28191113160'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.
リクエスト内で client_id パラメーターで指定している値が、アプリの識別子 (アプリケーション ID) と一致しないので怒られている。
リクエスト内の client_id 要素を見てみよう
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=7880db84-e5c4-4c55-87a5-7db9f5031ac6&response_type=id_token...
"7880db84-e5c4-4c55-87a5-7db9f5031ac6" を指定している。
Azure AD の エンタープライズ アプリケーションの設定
確認画面 : Azure ポータル > [Azure Active Directory] > [エンタープライズ アプリケーション] > (対象のアプリ)
確認項目 : [アプリケーション ID]
リクエスト内の client_id パラメーターで指定する値は、"アプリケーション ID" と一致しなきゃいけない。
今回のエラーはアプリケーション ID ではなくオブジェクト ID を指定してしまっていたパターン。