Skip to content

Commit 2a5f287

Browse files
committed
Adding a toubleshooting section to IODC README.md
1 parent f6aece0 commit 2a5f287

File tree

3 files changed

+91
-0
lines changed
  • 1. WebApp signs-in users with Microsoft Identity (OIDC)
  • Microsoft.Identity.Web

3 files changed

+91
-0
lines changed

1. WebApp signs-in users with Microsoft Identity (OIDC)/1.2. in any org/README.md

+8
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,14 @@ cd "1. WebApp signs-in users with Microsoft Identity (OIDC)\1.2. in any org"
139139
140140
2. Open your web browser and make a request to the app. Accept the IIS Express SSL certificate if needed. The app immediately attempts to authenticate you via the Azure AD v2 endpoint. Sign in with your personal account or with work or school account.
141141
142+
## Toubleshooting
143+
144+
### known issue on iOS 12
145+
146+
ASP.NET core applications create session cookies that represent the identity of the caller. Some Safari users using iOS 12 had issues which are described in [ASP.NET Core #4467](https://github.com/aspnet/AspNetCore/issues/4647) and the Web kit bugs database [Bug 188165 - iOS 12 Safari breaks ASP.NET Core 2.1 OIDC authentication](https://bugs.webkit.org/show_bug.cgi?id=188165).
147+
148+
If your web site needs to be accessed from users using iOS 12, you probably want to disable the SameSite protection, but also ensure that state changes are protected with CSRF anti-forgery mecanism. See the how to fix section of [Microsoft Security Advisory: iOS12 breaks social, WSFed and OIDC logins #4647](https://github.com/aspnet/AspNetCore/issues/4647)
149+
142150
## About The code
143151
144152
This sample shows how to use the OpenID Connect ASP.NET Core middleware to sign in users from a single Azure AD tenant. The middleware is initialized in the `Startup.cs` file by passing it the Client ID of the app, and the URL of the Azure AD tenant where the app is registered. These values are read from the `appsettings.json` file. The middleware takes care of:

1. WebApp signs-in users with Microsoft Identity (OIDC)/1.3. with work and school or personal accounts/README.md

+8
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,14 @@ You can restrict sign-in access for your application to only user accounts that
184184
185185
You can also learn from the [1. WebApp signs-in users with Microsoft Identity (OIDC) / in my org/](../1.1.%20in%20my%20org) step of the tutorial if you are interested in this use case
186186
187+
## Toubleshooting
188+
189+
### known issue on iOS 12
190+
191+
ASP.NET core applications create session cookies that represent the identity of the caller. Some Safari users using iOS 12 had issues which are described in [ASP.NET Core #4467](https://github.com/aspnet/AspNetCore/issues/4647) and the Web kit bugs database [Bug 188165 - iOS 12 Safari breaks ASP.NET Core 2.1 OIDC authentication](https://bugs.webkit.org/show_bug.cgi?id=188165).
192+
193+
If your web site needs to be accessed from users using iOS 12, you probably want to disable the SameSite protection, but also ensure that state changes are protected with CSRF anti-forgery mecanism. See the how to fix section of [Microsoft Security Advisory: iOS12 breaks social, WSFed and OIDC logins #4647](https://github.com/aspnet/AspNetCore/issues/4647)
194+
187195
## About The code
188196
189197
This sample shows how to use the OpenID Connect ASP.NET Core middleware to sign in users from a single Azure AD tenant. The middleware is initialized in the `Startup.cs` file by passing it the Client ID of the app, and the URL of the Azure AD tenant where the app is registered. These values are read from the `appsettings.json` file. The middleware takes care of:

Microsoft.Identity.Web/Diagrams.cd

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ClassDiagram MajorVersion="1" MinorVersion="1" MembersFormat="FullSignature">
3+
<Class Name="Microsoft.Identity.Web.Resource.AadIssuerValidator">
4+
<Position X="0.5" Y="6.25" Width="7.5" />
5+
<Members>
6+
<Method Name="AadIssuerValidator" Hidden="true" />
7+
<Field Name="IssuerAliases" Hidden="true" />
8+
<Field Name="issuerValidators" Hidden="true" />
9+
<Method Name="TenantedIssuer" Hidden="true" />
10+
</Members>
11+
<TypeIdentifier>
12+
<HashCode>BAAAAEAAAAAAAAAAAAAAAAAAAAAQAAAAAgAAAEAAAAI=</HashCode>
13+
<FileName>Resource\AadIssuerValidator.cs</FileName>
14+
</TypeIdentifier>
15+
</Class>
16+
<Class Name="Microsoft.Identity.Web.Resource.IssuerConfigurationRetriever" BaseTypeListCollapsed="true">
17+
<Position X="12.5" Y="0.5" Width="1.5" />
18+
<TypeIdentifier>
19+
<HashCode>AAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
20+
<FileName>Resource\AadIssuerValidator.cs</FileName>
21+
</TypeIdentifier>
22+
<Lollipop Position="0.2" Collapsed="true" />
23+
</Class>
24+
<Class Name="Microsoft.Identity.Web.Resource.IssuerMetadata" Collapsed="true">
25+
<Position X="10.5" Y="0.5" Width="1.5" />
26+
<TypeIdentifier>
27+
<HashCode>AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAA=</HashCode>
28+
<FileName>Resource\AadIssuerValidator.cs</FileName>
29+
</TypeIdentifier>
30+
</Class>
31+
<Class Name="Microsoft.Identity.Web.Resource.Metadata">
32+
<Position X="12.25" Y="1.75" Width="1.5" />
33+
<TypeIdentifier>
34+
<HashCode>AAAAAAAAAAAAAAAAAAEAAAAAABAAAAAAAACAAAAAAAA=</HashCode>
35+
<FileName>Resource\AadIssuerValidator.cs</FileName>
36+
</TypeIdentifier>
37+
</Class>
38+
<Class Name="Microsoft.Identity.Web.Resource.OpenIdConnectMiddlewareDiagnostics">
39+
<Position X="0.5" Y="0.5" Width="5.5" />
40+
<Members>
41+
<Field Name="onAuthenticationFailed" Hidden="true" />
42+
<Field Name="onAuthorizationCodeReceived" Hidden="true" />
43+
<Field Name="onMessageReceived" Hidden="true" />
44+
<Field Name="onRedirectToIdentityProvider" Hidden="true" />
45+
<Field Name="onRedirectToIdentityProviderForSignOut" Hidden="true" />
46+
<Field Name="onRemoteSignOut" Hidden="true" />
47+
<Field Name="onSignedOutCallbackRedirect" Hidden="true" />
48+
<Field Name="onTokenResponseReceived" Hidden="true" />
49+
<Field Name="onTokenValidated" Hidden="true" />
50+
<Field Name="onUserInformationReceived" Hidden="true" />
51+
</Members>
52+
<TypeIdentifier>
53+
<HashCode>AABAAABAAIIAAAQCAIAEAIBEAICCAAAAwgBAAEAAAgA=</HashCode>
54+
<FileName>Resource\OpenIdConnectMiddlewareDiagnostics.cs</FileName>
55+
</TypeIdentifier>
56+
</Class>
57+
<Class Name="Microsoft.Identity.Web.ClaimsPrincipalExtension">
58+
<Position X="10" Y="3.75" Width="7.5" />
59+
<TypeIdentifier>
60+
<HashCode>AAAAAkAAAAAAAAABAAAAAAAAAAAAAAAAAAIAAEAGAAA=</HashCode>
61+
<FileName>ClaimPrincipalExtension.cs</FileName>
62+
</TypeIdentifier>
63+
</Class>
64+
<Class Name="Microsoft.Identity.Web.StartupHelpers">
65+
<Position X="0.5" Y="4.5" Width="7" />
66+
<Members>
67+
<Field Name="emptyScopes" Hidden="true" />
68+
</Members>
69+
<TypeIdentifier>
70+
<HashCode>AAAAAAAAAAAAAgAAAAAAAAAgAAAAAACAAAAAAAAAAAA=</HashCode>
71+
<FileName>StartupHelpers.cs</FileName>
72+
</TypeIdentifier>
73+
</Class>
74+
<Font Name="Segoe UI" Size="9" />
75+
</ClassDiagram>

0 commit comments

Comments
 (0)