I'm seeing an issue specifically with Safari whereby a user session is retained, even after logging out. See the steps below (endpoints called by a SPA):
Log in and provide credentials by calling:
GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize? client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 &response_type=id_token &redirect_uri=https%3A%2F%2Fjwt.ms%2F &response_mode=fragment &scope=openid &nonce={nonce}
Once user has successfully authenticated, they are redirected back to the application with an id token which can then be exchanged for an access token etc.
Whilst authenticated, the application provides a Logout link for the user, which when used will do the next step..
End session by redirecting client to:
GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/logout?post_logout_redirect_uri={appUrl}
User is then redirected back to application login page.
The issue is that if the user then logs in again (first step), the AD B2C service redirects the user straight back to the application with an id token without asking them to log in again. This is happening in Safari only. It even happens after closing the browser and re-opening.
Is there something I'm missing here? I'm following the docs here: https://learn.microsoft.com/en-us/azure/active-directory-b2c/openid-connect#send-a-sign-out-request