MS_ASPNETIdentityExternalLogin - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- æ»ãïŒASP.NET IdentityïŒ
- ASP.NET Identityã®å€éšãã°ã€ã³
- ASP.NET Core Identity
- ASP.NET Identityã«ããSTSå®è£
å€éšãã°ã€ã³ã»ãããã€ãã䜿çšããŠå€éšãã°ã€ã³ãç°¡åã«å®è£
ã§ãããã
ïŒãããã³ã«ãçè§£ããŠã©ã€ãã©ãªãèªäœããããæ°æ®µæ¥œã§ã¯ãããã®ã®ïŒ
å®éã¯ããããªã«ç°¡åã§ã¯ãªãã£ããããã
å€éšãã°ã€ã³ã»ãããã€ããšããŠäœ¿çšå¯èœãª
ã¯ã¬ãŒã ããŒã¹èªèšŒã®ãããã³ã«ã«ã¯ã
以äžã®ãããªãã®ãããã
| ãããã³ã« | ç¶æ³ |
|---|---|
| OAuth | çŸæç¹ã§ã¯ãOAuthïŒæ£ç¢ºã«ã¯ãOAuth 2.0ïŒãäž»æµã§ããæš¡æ§ãOAuth èªäœã¯èªå¯ãããã³ã«ãªã®ã§ãå€éšãã°ã€ã³ã¯æ¡åŒµä»æ§ã§ããã |
| OpenID Connect | ãã®ä»ãOpenID Connect ã«å¯Ÿå¿ããã©ã€ãã©ãªãæ¡å ãã€ã€ããã |
| OpenID |
Microsoft.Owin.Security.Google ã§ã¯ãéå»ã« OpenID ã䜿çšããŠããã |
| WS-Federation, SAML | WIFïŒWindows Identity FoundationïŒã«ãã£ãŠãµããŒãå¯èœãšæãããã |
è£è¶³ïŒææ°åïŒ: ãã®èšè¿°ã®æç¹ããç¶æ³ã¯æŽçããã
çŸåšã®å€éšãã°ã€ã³ã¯å®è³ªãã¹ãŠ OpenID Connect ã§ããã
ãããã€ã çŸåš OIDCïŒ accounts.google.comã® Discovery ããïŒMicrosoft ã¢ã«ãŠã³ã / Entra ID OIDC AppleïŒSign in with AppleïŒ OIDC ç¬èªå¯ãã® OAuth 2.0ïŒGraph APIïŒ XïŒæ§ TwitterïŒ OAuth 2.0ïŒPKCE å¿ é ã1.0a ããç§»è¡æžã¿ïŒ OpenID Authentication 2.0ïŒç¡å° OpenIDïŒã¯ 2014 幎ã«å»æ¢ããã
çŸåããªãããªããOAuth èªäœã¯èªå¯ãããã³ã«ãªã®ã§ãå€éšãã°ã€ã³ã¯æ¡åŒµä»æ§ã
ãšããææã¯æ¥µããŠéèŠã§ããã
ã¢ã¯ã»ã¹ ããŒã¯ã³ãåãåããããšã¯ãèªèšŒã®èšŒæã«ãªããªã
ïŒããŒã¯ã³ã¯ä»æã§çãã ãã®ãããããªãïŒã
ã ãããã OpenID Connect ã® ID ããŒã¯ã³ã
å¿ èŠã«ãªã£ãããšããçµç·¯ã§ããã
-
Owin.Securityåå空éã§ã¯ãäž»èŠ IdP ã® STS ã«å¯Ÿå¿ããã©ã€ãã©ãªãæäŸãããŠããã - ãããã³ã«ã¯äžåã§ããããã³ã«ã»ã¬ãã«ã®å€æŽãªã©ãããæš¡æ§ã
â»Microsoft.Owin.Security.Googleã§ã¯ãéå»ã« OpenID ãã OAuth 2.0 ãžã®
倿Žãªã©ããã£ãæš¡æ§ã
-
ã©ã€ãã©ãª
- NuGet Gallery | Microsoft.Owin.Security.MicrosoftAccount
https://www.nuget.org/packages/Microsoft.Owin.Security.MicrosoftAccount/- Microsoft ã¯ãsupport the Microsoft Account authentication workflowããš
ãããã³ã«ãæèšããŠããªãã - 2019 幎ãä¹
ã
詊ãããã
AADSTS70011:ã§wl.basic,wl.emailsã
discon ã®æšããã® scope å€ãã°åãæ¢ããåäœããã
- Microsoft ã¯ãsupport the Microsoft Account authentication workflowããš
- NuGet Gallery | Microsoft.Owin.Security.MicrosoftAccount
-
èšå®
- ASP.NET Identity ã䜿ã£ãŠ Microsoft ã¢ã«ãŠã³ãã§èªèšŒãã
http://kendik.hatenablog.com/entry/2014/08/25/020152
- ASP.NET Identity ã䜿ã£ãŠ Microsoft ã¢ã«ãŠã³ãã§èªèšŒãã
è£è¶³:
wl.*ã¯æ§ Live Connect ã®ã¹ã³ãŒãã§ã
Microsoft GraphïŒopenid profile email User.ReadïŒã«çœ®ãæãã£ãã
çŸåšã¯ **Microsoft ID ãã©ãããã©ãŒã ïŒv2.0 ãšã³ããã€ã³ãïŒ**ã䜿ãã
-
ã©ã€ãã©ãª
- NuGet Gallery | Microsoft.Owin.Security.Google
https://www.nuget.org/packages/Microsoft.Owin.Security.Google/- ä»ã®æãOAuth 2.0 ã䜿çšããŠãããããã
- ãšæããããNuGet ã®ãµã€ãã®è¡šç€ºãã¡ã³ããã³ã¹ãããŠããªãã ãã£ãœãã
- ãã®èŸºãèŠããšãçŸåšã¯ãOIDC ã䜿çšããŠãããããã
- NuGet Gallery | Microsoft.Owin.Security.Google
-
èšå®
-
ASP.NET MVC 5 ã§ OAuth 2.0 ã䜿çšã㊠Google èªèšŒãè¡ãæ¹æ³: ãã SE ã®ã€ã¶ãã
http://fnya.cocolog-nifty.com/blog/2014/03/aspnet-mvc-5-oa.html -
Google ã® OAuth2.0 ã䜿ã£ãŠãããã£ãŒã«ãååŸãPHPã - FaMirror Project
http://famirror.hateblo.jp/entry/2015/12/18/180000 -
ãµããª
- Google Cloud Console ã«ãããžã§ã¯ããäœæããã
- èªèšŒæ å ±ã¿ã ---> OAuth ã¯ã©ã€ã¢ã³ã ID ãäœæããã
- èªèšŒæ
å ±ã¿ã ---> OAuth åæç»é¢ãå
¥åããŠä¿åããã
ïŒæ³šïŒredirect_uriã®æ«å°Ÿã¯ã䜿çšããã©ã€ãã©ãªã«ãã£ãŠç°ãªããïŒ - ã©ã€ãã©ãªã»ã¿ã â API ãæå¹ã«ããã
-
ç§»è¡ã¡ã¢ïŒææ°åïŒ: æé äžã®
- ãGoogle Developers Consoleãâ çŸåšã¯ Google Cloud Console
- ãGoogle+ API ãæå¹ã«ãããâ Google+ API 㯠2019 幎ã«å»æ¢ã
çŸåšã¯æå¹åäžèŠïŒãããã£ãŒã«ååŸã¯ OIDC ã®userinfoã§è¡ãïŒã§ããã
-
ã©ã€ãã©ãª
-
NuGet Gallery | Microsoft.Owin.Security.Facebook
https://www.nuget.org/packages/Microsoft.Owin.Security.Facebook/ä»ã®æãOAuth 2.0 ã䜿çšããŠãããããã
-
-
倿Ž
- ASP.NET MVC5 OWIN Facebook authentication suddenly not working - Stack Overflow
http://stackoverflow.com/questions/22364442/asp-net-mvc5-owin-facebook-authentication-suddenly-not-working- [Announcement] Facebook 3.0.1 and lower no longer work · Issue #38 · aspnet/AspNetKatana
https://github.com/aspnet/AspNetKatana/issues/38
- [Announcement] Facebook 3.0.1 and lower no longer work · Issue #38 · aspnet/AspNetKatana
- ASP.NET MVC5 OWIN Facebook authentication suddenly not working - Stack Overflow
- ã©ã€ãã©ãª
- NuGet Gallery | Microsoft.Owin.Security.Twitter
https://www.nuget.org/packages/Microsoft.Owin.Security.Twitter/- NuGet äžã®èª¬æã§ã¯ãOAuth 2.0 ã䜿çšããŠãããããã
- ããããã³ãã©ã®æ
å ±ã§ã¯ãOAuth 1.0a ããããâŠïŒ
HTTP ããµããŒãããªãã®ããOAuth 1.0a ã ããããšèãããšèŸ»è€ãåãã®ã ãã
- NuGet Gallery | Microsoft.Owin.Security.Twitter
è£è¶³ïŒãã®çåãžã®çãïŒ: OAuth 1.0a ãæ£ããã
Microsoft.Owin.Security.Twitter㯠OAuth 1.0a ãå®è£ ããŠãã
ïŒãªã¯ãšã¹ã ããŒã¯ã³ â èªå¯ â ã¢ã¯ã»ã¹ ããŒã¯ã³ã® 3-leggedïŒãOAuth 1.0a ã¯ã¡ãã»ãŒãžèªäœã«çœ²åããæ¹åŒã®ããã
眲åã®å¯Ÿè±¡ã« URLïŒã¹ããŒã ãå«ãïŒãå ¥ãã
HTTPS åæã®å®è£ ã«ãªã£ãŠããã®ã¯ãã®ããã§ãã
ïŒOAuth 2.0 ã¯çœ²åããããTLS ã«äŸåããèšèšã«å€ããïŒããªã XïŒæ§ TwitterïŒã¯çŸåš OAuth 2.0 + PKCE ã«ç§»è¡ããŠããã
äžèšã©ã€ãã©ãªã¯å®è³ªäœ¿ããªãã
- èšå®
- ASP.NET MVC 5 ã§ Twitter èªèšŒãè¡ãæ¹æ³: ãã SE ã®ã€ã¶ãã
http://fnya.cocolog-nifty.com/blog/2014/03/aspnet-mvc-5-tw.html
- ASP.NET MVC 5 ã§ Twitter èªèšŒãè¡ãæ¹æ³: ãã SE ã®ã€ã¶ãã
- æè¿ãSign in with AppleããªãªãŒã¹ããããã
NuGet äžã«ã©ã€ãã©ãªã¯ããŸã 確èªã§ããªãã - iOS äžã§ã® Native SDK ãæ¬äžžãªã®ã§ã
Web ããå€éšãã°ã€ã³ããããã® IdP ãšããŠã¯ãããŸã䜿çšãããªãããã
è£è¶³ïŒææ°åïŒ: çŸåšã¯
AspNet.Security.OAuth.AppleïŒaspnet-contribïŒãåºã䜿ãããŠããã
ãŸããApple ã¯ã¢ã㪠ã¹ãã¢ã®èŠçŽã«ãã
ãä»ã®å€éšãã°ã€ã³ãæäŸãããªã Sign in with Apple ãæäŸããã
ãšæ±ããŠãããããB2C ã§ã¯å®è³ªå¿ é ã«ãªã£ãŠãããå®è£ äžã®çãšããŠã
- ã¯ã©ã€ã¢ã³ã ã·ãŒã¯ã¬ããã JWTïŒES256 眲åãæé· 6 ãæïŒ
ã§ããã宿çãªåçæãèŠã- æ°åã»ã¡ãŒã«ã¯ååèªå¯æã«ããè¿ããªãïŒ2 åç®ä»¥éã¯ç©ºïŒã®ã§
ãã®å Žã§ä¿åããªããã°ãªããªã- ã¡ãŒã«éå ¬éãéžã°ãããš
@privaterelay.appleid.comã®
äžç¶ã¢ãã¬ã¹ã«ãªããããã
OAuthçšã©ã€ãã©ãª
Microsoft.Web.WebPages.OAuth.OAuthWebSecurity ã¯ã©ã¹ã«ã¯ã
åãµãŒãã¹ã«å¿ããŠãã¢ã«ãŠã³ãèªèšŒãè¡ãããã®ã¡ãœãããçšæãããŠããã
| é çª | ã¡ãœãã | åŠçå 容 |
|---|---|---|
| 1 | RegisterFacebookClient |
Facebook ã¢ã«ãŠã³ãã«ããèªèšŒ |
| 2 | RegisterGoogleClient |
Google ã¢ã«ãŠã³ãã«ããèªèšŒ |
| 3 | RegisterLinkedInClient |
LinkedIn ã¢ã«ãŠã³ãã«ããèªèšŒ |
| 4 | RegisterMicrosoftClient |
Microsoft ã¢ã«ãŠã³ãã«ããèªèšŒ |
| 5 | RegisterTwitterClient |
Twitter ã¢ã«ãŠã³ãã«ããèªèšŒ |
| 6 | RegisterYahooClient |
Yahoo ã¢ã«ãŠã³ãã«ããèªèšŒ |
- Using OAuth Providers with MVC 4 | The ASP.NET Site
https://www.asp.net/mvc/overview/older-versions/using-oauth-providers-with-mvc
è£è¶³: ãã㯠MVC 4 æä»£ã®
DotNetOpenAuthããŒã¹ã®ä»çµã¿ã§ã
çŸåšã¯äœ¿çšããªãïŒDotNetOpenAuthèªäœãéçºçµäºïŒã
OpenID Connectçšã©ã€ãã©ãª
Microsoft.Owin.Security.OpenIdConnect ã§ã¯ã
Microsoft Entra IDïŒAzure Active DirectoryïŒãšã®ã
OpenID Connect ã䜿çšããèªèšŒé£æºããµããŒããããŠããæš¡æ§ã
-
OWIN security components in ASP.NET: OpenID Connect! | .NET Web Development and Tools Blog
https://blogs.msdn.microsoft.com/webdev/2014/03/28/owin-security-components-in-asp-net-openid-connect/ -
IdMå®éšå®€
- [AAD/ASP.NET] OpenID Connect ã䜿ã£ãŠ AAD ã§ãã°ãªã³ãã
http://idmlab.eidentity.jp/2014/05/aadaspnet-openid-connectaad.html - ïŒç¶ïŒ
response_mode=fragmentç·š
http://idmlab.eidentity.jp/2014/05/aadaspnet-openid-connectaadresponsemode.html
- [AAD/ASP.NET] OpenID Connect ã䜿ã£ãŠ AAD ã§ãã°ãªã³ãã
Google ãžã®ãã°ã€ã³ã¯çŸæç¹ïŒ2016 幎ïŒã§ã¯ãµããŒããããŠããªãæš¡æ§ã
- asp.net - OpenIdConnect Owin login with google - Stack Overflow
http://stackoverflow.com/questions/25423898/openidconnect-owin-login-with-google
è£è¶³ïŒææ°åïŒ: çŸåšã¯
Microsoft.AspNetCore.Authentication.OpenIdConnect
ã®AddOpenIdConnect()ã§ãGoogle ãå«ã
DiscoveryïŒ/.well-known/openid-configurationïŒã«å¯Ÿå¿ãã
ä»»æã® OP ãšé£æºã§ããããããã€ãå¥ã®ã©ã€ãã©ãªã¯åºæ¬çã«äžèŠã«ãªã£ãã.AddOpenIdConnect("google", o => { o.Authority = "https://accounts.google.com"; o.ClientId = "..."; o.ClientSecret = "..."; o.ResponseType = "code"; // â Implicit ã¯äœ¿ããªã o.UsePkce = true; // æ¢å® true o.Scope.Add("email"); o.SaveTokens = true; });
WS-Federation, SAMLçšã©ã€ãã©ãª
WIFã®åå空éã¯ãMicrosoft.IdentityModel.Claims ãšã
OWIN ããã«ãŠã§ã¢ïŒMicrosoft.OwinïŒãšç°ãªãããã
ASP.NET Identityãšã®é£æºå
·åãäžæïŒå€å飿ºããŠããªãïŒã
- æ¹æ³: WIF ã䜿çšããŠã¯ã¬ãŒã å¯Ÿå¿ ASP.NET MVC Web ã¢ããªã±ãŒã·ã§ã³ããã«ããã
https://msdn.microsoft.com/ja-jp/library/hh291061.aspx
è£è¶³ïŒææ°åïŒ: ASP.NET Core ã«ã¯
Microsoft.AspNetCore.Authentication.WsFederationãããã
AD FS ãšã®é£æºãæšæºã§ã§ããã
SAML ã¯æšæºã§ã¯æäŸãããã
Sustainsys.Saml2ãªã©ã®ãµãŒãããŒãã£ã䜿ã
ïŒSAMLãå®è£ ããããåç §ïŒã
ASP.NET Core ã®æ å ±ã¯ä»¥äžã«çºãŸã£ãŠããã
https://learn.microsoft.com/aspnet/core/security/authentication/social/
- Google / Facebook / Microsoft / Twitter
â» ãã¡ãããOwin.Security åæ§ã«ãMS 補ïŒMicrosoft.AspNetCore.AuthenticationïŒã
- é£èŒïŒMicrosoftæè¡ã«ãããã¢ã€ãã³ãã£ãã£é£æºéçºã®ã㟠- Build Insider
http://www.buildinsider.net/web/msidentitydev- .NET ã§äœ¿ããã¢ã€ãã³ãã£ãã£é£æºã®ããã®ã©ã€ãã©ãªãŸãšãïŒåã»åŸç·šïŒ
- ã«ã¹ã¿ã ã»ã¢ããªã±ãŒã·ã§ã³ã«ããèªèšŒãããŒãšããã°ã©ãã³ã°
以äžã®æé ã«åŸããå®è£ ã§ããã
- Code! MVC 5 App with Facebook, Twitter, LinkedIn and Google OAuth2 Sign-on (C#) | The ASP.NET Site
https://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
å€éšãã°ã€ã³ã¯ã
HttpUnauthorizedResult
ã® ActionResult ãè¿ãããšã§éå§ãããéåžžãredirect_uri ã¯æå®ããªãã
-
Microsoft ã¢ã«ãŠã³ãã§ã¯ãlocalhost ãç»é²ã§ããããã«ãªã£ãŠããã
ããããTwitter ã§ã¯ localhost ãç»é²ã§ããªãããšã確èªããã -
åŸã£ãŠãlocalhost ã䜿çšã§ããªããã°ã€ã³ã»ãããã€ãã䜿çšããå Žåã
URL, hosts,applicationhost.configã®èšå®ãå¿ èŠã«ãªãã- IIS Express ã§ä»®æ³ãµã€ãã«è€æ°ã®ãã¹ãåãå²ãåœãŠã - ãã°ããéèš
http://blog.shibayan.jp/entry/20130306/1362572283 - ãªãã
applicationhost.configã®äœçœ®ããVS2015 ããå€ãã£ãŠããã®ã§æ³šæãå¿ èŠã- IIS Express ã§ localhost 以å€ã®ã¢ãã¬ã¹ã§ã¢ã¯ã»ã¹ããæ¹æ³ - ãªãæ¥èš
http://blog.nakajix.jp/entry/2014/09/19/022536
- IIS Express ã§ localhost 以å€ã®ã¢ãã¬ã¹ã§ã¢ã¯ã»ã¹ããæ¹æ³ - ãªãæ¥èš
- IIS Express ã§ä»®æ³ãµã€ãã«è€æ°ã®ãã¹ãåãå²ãåœãŠã - ãã°ããéèš
-
äŒæ¥ãããã·ç°å¢äžã§å€éšãµãŒãã¹ã«æ¥ç¶
ãããã·ç°å¢äžã§å€éšãµãŒãã¹ã«æ¥ç¶ããå Žåã以äžã®å®è£ ã»èšå®ãè¡ãå¿ èŠãããã- ASP.NET Identity - ãããã·ç°å¢äžã§å€éšãµãŒãã¹ã«ãããŠãŒã¶èªèšŒãè¡ã
http://ichiroku11.hatenablog.jp/entry/2014/04/09/224050 - ãã®èšå®ãè¡ããšãäžèšã®ãClient ã® Web ã¢ããªãããã® Web ã¢ã¯ã»ã¹ã¯ã
äŒæ¥ãããã·çµç±ã§ã€ã³ã¿ãŒãããã«ã«ãŒãã£ã³ã°ãããããã«ãªãã
- ASP.NET Identity - ãããã·ç°å¢äžã§å€éšãµãŒãã¹ã«ãããŠãŒã¶èªèšŒãè¡ã
-
äŒæ¥ãããã·ã®ãã£ã«ã¿ãªã³ã°
-
ã©ããããã©ãã«ãã¢ã¯ã»ã¹ããããšããŠãããã確èªããå¿ èŠãããã
OAuthã«è©³ãããªããšã以äžã«ã¢ã¯ã»ã¹ããŠããããšãè§£ãããã«ãªãã- User Agent ãã Client ã® Web ã¢ããªïŒèªåã®éçºäžã® Web ã¢ããªïŒ
- User Agent ãã Authorization Server ã® Web ã¢ããªïŒãµãŒãã¹åŽã® Web ã¢ããªïŒ
- Client ã® Web ã¢ããªãã Authorization Server ã® Web ã¢ããª
- Client ã® Web ã¢ããªãã Resource Server ã® WebAPI
- User Agent ãã Resource Server ã® WebAPI
-
äŸãã°ãGoogle ã¢ã«ãŠã³ãã§ã¯ãäžèšããã£ã«ã¿è§£é€ããŠããã ãã§ã¯
èªèšŒãããŸãéããªãã£ãã
ïŒæãã仲ä»ã³ãŒãã䜿çšããAccess Token ã Claim ãååŸ
ããããã®åãšã³ããã€ã³ãã® URL ãç°ãªãã®ã ãšæããããïŒhttps://www.google.com/
-
åŸã£ãŠãåãåãã®ããã«ãäŒæ¥ãããã·ã®å€ãããã¹ãããããšãéèŠã«ãªãã
-
è£è¶³ïŒGoogle ã§èš±å¯ãã¹ããã¹ãïŒ: äžã®æšæž¬ã¯æ£ããã
OIDC ã§ã¯ãã©ãŠã¶ãè¡ãå ãšãµãŒããè¡ãå ãç°ãªãã
çµè·¯ ãã¹ã ãã©ãŠã¶ïŒèªå¯ïŒ accounts.google.comãµãŒãïŒããŒã¯ã³ååŸïŒ oauth2.googleapis.comãµãŒãïŒDiscovery / JWKSïŒ accounts.google.com,www.googleapis.comãµãŒãïŒãŠãŒã¶æ å ±ïŒ openidconnect.googleapis.comãã©ãŠã¶åŽã ããèš±å¯ããŠãã
ãµãŒãâ Google ã®ããŒã¯ã³äº€æã§æ¢ãŸãã
ããããèªèšŒãããŸãéããªããã®æ£äœã§ããã
.well-known/openid-configurationãå®éã«ååŸããŠã
åºãŠãã URL ã®ãã¹ããèš±å¯ãªã¹ãã«å ¥ããã®ã確å®ã§ããã
ãµãŒãã¹åŽã®
- 仿§ãäžæç¢ºãªããšãã
- 仿§ã®å€æŽãå€ããšãããããã
ãã©ããäºãå€ãã
ãããã³ã«ãäžå®ã§ãäŸãã° OAuth 2.0 ã®å Žåã
詳ãã仿§ã¯èšèŒãããŠããªãã®ã§
å¿
èŠã«å¿ããŠåæãå¿
èŠã«ãªãïŒOAuthã«ããå€éšãã°ã€ã³ïŒèªèšŒïŒã®ç ç©¶ïŒã
以äžã®ããã«ãã€ã³ã¿ãŒãã§ã€ã¹ã®å€æŽã倿°ãã£ãããšãå ±åãããŠããã
- Using Google and LinkedIn Accounts for Your .net MVC 5 Site's Authentication
https://riccardo-moschetti.org/2014/08/25/using-google-accounts-for-your-net-mvc-5-sites-authentication-tips-and-tricks-and-the-error-externallogincallbackerroraccess_denied/
ãŸããéå» Google ã® OpenID ã®å€éšãã°ã€ã³ã»ãããã€ããååšããŠããã
æè¿ OAuth ã«çœ®ãæããããããšãèãããšã
å°æ¥çã«ã¯ãOAuth ããOpenID Connect ã«çœ®ãæããããã
ãªã©ãšèšã£ãå¯èœæ§ã¯ããã
è£è¶³: ãã®äºæž¬ã¯ãã®éãã«ãªã£ãã
çŸåšãäž»èŠãããã€ãã®å€éšãã°ã€ã³ã¯ãã¹ãŠ OIDC ã§ããã
Discovery ã«å¯Ÿå¿ããæ±çšã® OIDC ããã«ãŠã§ã¢ã䜿ã£ãŠããã°ã
ãããã€ãåŽã®å€æŽã«è¿œåŸããããã
- ASP.NET MVC 5 ã§ OpenID ã䜿çšã㊠Google èªèšŒãè¡ãæ¹æ³: ãã SE ã®ã€ã¶ãã
http://fnya.cocolog-nifty.com/blog/2014/03/aspnet-mvc-5-op.html- ãµã€ãã«ãã¹ã¯ãŒããä¿åããå¿
èŠãªã â MicrosoftãGoogleçã
ãŠãŒã¶ãŒèªèšŒã®æ°èŠæ ŒãOpenID Connect ããµããŒã | TechCrunch Japan
http://jp.techcrunch.com/2014/02/27/20140226openid-foundation-launches-openid-connect-identity-protocol-with-support-from-google-microsoft-others/
- ãµã€ãã«ãã¹ã¯ãŒããä¿åããå¿
èŠãªã â MicrosoftãGoogleçã
ã»ãŒãAccountController.ExternalLoginCallback åšèŸºã§å®çµããã
-
å€éšãã°ã€ã³ãããŠããæ¢å®ã§ E-mail ã¢ãã¬ã¹ã¯ååŸã§ããªãã®ã§
ãããžã§ã¯ãã»ãã³ãã¬ãŒãããæ¢å®ã§ E-mail ã¢ãã¬ã¹ãèªåã§æå ¥åãã
ãšãã仿§ã§å®è£ ãããŠããã -
ããã§ã¯ãããŸãå€éšãã°ã€ã³ã®æå³ãç¡ãã®ã§ïŒE-mail ã¢ãã¬ã¹ã®åå ¥åãå¿ èŠïŒã
æ€èšŒæžã¿ã® E-mail ã¢ãã¬ã¹ãååŸã§ããããã«ã
飿ºå ã«ãE-mail ã¢ãã¬ã¹ãèŠæ±ããããã«èšå®ããã- c# - Get E-mail of User Authenticated with Microsoft Account in ASP.NET Identity - Stack Overflow
http://stackoverflow.com/questions/22229593/get-e-mail-of-user-authenticated-with-microsoft-account-in-asp-net-identity - twitter ã® oauth ã䜿ã£ãŠã¿ãïŒemail ãååŸïŒ - Qiita
http://qiita.com/kite_999/items/e0ab8c52f918bbb02cfd
- c# - Get E-mail of User Authenticated with Microsoft Account in ASP.NET Identity - Stack Overflow
-
ããã«ããã飿ºå ãããæ€èšŒæžã¿ã® E-mail ã¢ãã¬ã¹ãååŸã§ããããã«ãªãããã
ãã® E-mail ã¢ãã¬ã¹ã䜿çšããŠããŠãŒã¶ç»é²ããå€éšãã°ã€ã³ã远å ããã°æŽåæ§ãåããã -
ãããããã®ç¶æ ã§ãE-mail Confirmation ãå®è£ ããŠãããšççŸãçããã
è£è¶³ïŒã¡ãŒã«ãããŒã«ããŠã¯ãªããªãïŒ: ã飿ºå ããååŸãã
æ€èšŒæžã¿ã¡ãŒã«ã§ãŠãŒã¶ãçŽã¥ããããšããèšèšã«ã¯é倧ãªèœãšã穎ãããã
OIDC ã®email_verifiedã¯ã¬ãŒã ãå¿ ã確èªããããšã
falseïŒãŸãã¯æ¬ èœïŒã®ã¡ãŒã«ã§æ¢åã¢ã«ãŠã³ãã«çŽã¥ãããšã
æ»æè ãä»»æã®ã¡ãŒã«ãåä¹ã£ãŠä»äººã®ã¢ã«ãŠã³ããä¹ã£åããã- ã¡ãŒã«ã¯å€ãããå§ã®å€æŽã»ãã¡ã€ã³ç§»è¡ã§å¥äººã«ãªãã
æ£ããã¯ã
iss+subïŒãããã€ã + äžå€ã®ãŠãŒã¶ IDïŒã®çµã
å€éšãã°ã€ã³ã®ããŒã«ããïŒAspNetUserLoginsããŒãã«ã®
LoginProvider+ProviderKeyããŸãã«ããïŒã
ã¡ãŒã«ã¯è¡šç€ºã»ç §åã®è£å©ã«çããã
æ¢å®ã§ã¯ Claim ã®ä¿ååŠçã¯å®è£ ãããŠããªãã®ã§èªåã§å®è£ ããå¿ èŠãããã
await UserManager.AddClaimAsync(user.Id, claim);- åè
- ASP.NET Identity : External Login ã«ã¹ã¿ãã€ãº (claim, scope, access token ãªã©ã®æŽ»çš) â Tsmatz
https://blogs.msdn.microsoft.com/tsmatsuz/2014/06/15/asp-net-identity-external-login-claim-scope-access-token/
- ASP.NET Identity : External Login ã«ã¹ã¿ãã€ãº (claim, scope, access token ãªã©ã®æŽ»çš) â Tsmatz
-
ExternalLoginCallbackã®æ¡ä»¶åå²ã§ãå€éšãã°ã€ã³ãæãæã»ç¡ãæã§åããéãã- å€éšãã°ã€ã³ã¯ãã¢ã«ãŠã³ãã«è¿œå ãããã
- ã¢ã«ãŠã³ããäœæãããŠããªãå Žåã¯ã
- ãµã€ã³ã¢ããïŒã¢ã«ãŠã³ãã®äœæïŒããè¡ãªãã
- ãã®åŸãã¢ã«ãŠã³ãã«å€éšãã°ã€ã³ã远å ããŠãµã€ã³ã€ã³ããã
- ã¢ã«ãŠã³ããäœæãããŠãå Žåã¯ãå€éšãã°ã€ã³ããã§ãã¯ããã
- å€éšãã°ã€ã³ãååšããªãå Žåã¯ãå€éšãã°ã€ã³ã远å ããŠãµã€ã³ã€ã³ããã
- å€éšãã°ã€ã³ãååšããå Žåã¯ãå€éšãã°ã€ã³ã远å ããªãã§ãµã€ã³ã€ã³ããã
-
å¥ã®ãã°ã€ã³ææ®µãæããªãå Žåã¯ãå€éšãã°ã€ã³ãåé€ã§ããªã仿§ã§ããæš¡æ§ïŒç¢ºèªæžïŒã
- æåã«ãµã€ã³ã¢ããããŠããã°ãå€éšãã°ã€ã³ãåé€ã§ããã
- 2 ã€ä»¥äžã®å€éšãã°ã€ã³ãããã°ãå€éšãã°ã€ã³ãåé€ã§ããã
- æåã«å€éšãã°ã€ã³ããå Žåããµã€ã³ã¢ããã§ããªããªãåé¡ãããã
- ãã®å ŽåãããŒã«ã«ã»ãµã€ã³ã€ã³ã§ããªããªãã
- ãã¹ã¯ãŒãã»ãªã»ããããã°ãããŒã«ã«ã»ãµã€ã³ã€ã³ã§ããããã«ãªãã
- ããã§ããŒã«ã«ã»ãµã€ã³ã€ã³ãã§ããããã«ãªãã°ãå€éšãã°ã€ã³ãåé€ã§ããã
è£è¶³ïŒãã®ä»æ§ã¯æ£ããïŒ: ãæåŸã®ãã°ã€ã³ææ®µã¯åé€ãããªãã
ãšããæåã¯æå³çãªå®å šçã§ããã
åé€ã§ããŠããŸããšããŠãŒã¶ã¯èªåã®ã¢ã«ãŠã³ãã«
äºåºŠãšã¢ã¯ã»ã¹ã§ããªããªãïŒïŒ å®è³ªçãªã¢ã«ãŠã³ãæ¶å€±ïŒãåãçç±ã§ã2FA ãæå¹ã«ãããå埩ã³ãŒããå¿ ãæç€ºããã
ãã¹ããŒã®ã¿ã®ã¢ã«ãŠã³ãã«ã¯ä»£æ¿ææ®µãæ®ãããšãã£ã
ãç· ãåºãïŒlockoutïŒããžã®é æ ®ãèŠãã
ã¢ã«ãŠã³ãå埩ã®èšèšã¯ãèªèšŒèšèšãšåãã ãéèŠã§ããã
å€éšãã°ã€ã³ã倱æããããšããããããã
- ASP.NET Identity ã® SNS 察å¿ã§ã¯ãŸã£ããã€ã³ã | ç ãã·ãŒã©ã«ã³ã¹ãšæ°Žåºã®ããã°ã©ããŒ
http://coelacanth.jp.net/ - asp.net mvc - MVC 5 Owin Facebook Auth results in Null Reference Exception - Stack Overflow
http://stackoverflow.com/questions/19564479/mvc-5-owin-facebook-auth-results-in-null-reference-exception
è£è¶³ïŒçŸåšã®å®çªã®åå ïŒ: å€éšãã°ã€ã³ã®ãããåãããªã倱æãã¯ã
çŸåšã§ã¯ã»ãŒæ¬¡ã®ããããã§ããã
çç¶ åå ã³ãŒã«ããã¯ã§ Correlation failed.çžé¢ Cookie ãå±ããŠããªãã SameSite=None; Secureãå¿ èŠïŒIdP ãã POST ã§æ»ãå ŽåïŒããŒã«ã«ã§åããæ¬çªã§å€±æ ãªããŒã¹ ãããã·é äžã§ã¹ããŒã ã httpã«ãªããUseForwardedHeadersãèŠãredirect_uri_mismatchäžãšåãçç±ã§ redirect_uriãhttp://ã§çµã¿ç«ãŠãããŠããæç¶çã«å€±æ Data Protection ã®éµãå ±æãããŠããªãïŒç¶æ ã®æå·åã»åŸ©å·ã«å€±æïŒ ç¹ã« 1 çªç®ãš 2 çªç®ã¯ãããŒããã©ã³ãµ / ã³ã³ããå°å ¥æã«å¿ ãèžãã
- ASP.NET Identity : External Login ã«ã¹ã¿ãã€ãº (claim, scope, access token ãªã©ã®æŽ»çš)
https://blogs.msdn.microsoft.com/tsmatsuz/2014/06/15/asp-net-identity-external-login-claim-scope-access-token/
Tags: ç§»è¡, .NETéçº, ASP.NET, ASP.NET MVC, ASP.NET Identity, OAuth, èªèšŒåºç€, ã»ãã¥ãªãã£