diff --git a/Owin.Security.Providers/GitHub/GitHubAuthenticationHandler.cs b/Owin.Security.Providers/GitHub/GitHubAuthenticationHandler.cs index 0b9cdbb..f52bfbb 100644 --- a/Owin.Security.Providers/GitHub/GitHubAuthenticationHandler.cs +++ b/Owin.Security.Providers/GitHub/GitHubAuthenticationHandler.cs @@ -103,6 +103,10 @@ namespace Owin.Security.Providers.GitHub { context.Identity.AddClaim(new Claim(ClaimsIdentity.DefaultNameClaimType, context.UserName, XmlSchemaString, Options.AuthenticationType)); } + if (!string.IsNullOrEmpty(context.Email)) + { + context.Identity.AddClaim(new Claim(ClaimTypes.Email, context.Email, XmlSchemaString, Options.AuthenticationType)); + } if (!string.IsNullOrEmpty(context.Name)) { context.Identity.AddClaim(new Claim("urn:github:name", context.Name, XmlSchemaString, Options.AuthenticationType)); diff --git a/Owin.Security.Providers/GitHub/Provider/GitHubAuthenticatedContext.cs b/Owin.Security.Providers/GitHub/Provider/GitHubAuthenticatedContext.cs index dec8d80..c4ccea8 100644 --- a/Owin.Security.Providers/GitHub/Provider/GitHubAuthenticatedContext.cs +++ b/Owin.Security.Providers/GitHub/Provider/GitHubAuthenticatedContext.cs @@ -31,6 +31,7 @@ namespace Owin.Security.Providers.GitHub Name = TryGetValue(user, "name"); Link = TryGetValue(user, "url"); UserName = TryGetValue(user, "login"); + Email = TryGetValue(user, "email"); } /// @@ -64,6 +65,11 @@ namespace Owin.Security.Providers.GitHub /// public string UserName { get; private set; } + /// + /// Gets the GitHub email + /// + public string Email { get; private set; } + /// /// Gets the representing the user ///