public User Authenticate(OidcUser oidcUser) { // Get Identity Provider var providerName = "OpenIDConnect"; AuthenticationProviderElement externalProvider = Config.Get <AuthenticationConfig>().SecurityTokenService .AuthenticationProviders.Values .FirstOrDefault(x => x.Name == providerName); if (externalProvider != null) { UserManager userManager = UserManager.GetManager(externalProvider.DataProviderName); // Find sitefinity user var sitefinityUser = userManager.GetUser(oidcUser.Email); if (sitefinityUser != null) { // Update sitefinity user SystemManager.RunWithElevatedPrivilege(p => { try { UpdateUser(externalProvider.DataProviderName, externalProvider.Name, oidcUser.Email, oidcUser.Id.ToString(), oidcUser.FirstName, oidcUser.LastName); } catch (Exception ex) { Log.Write($"Failed to update user. Message: {ex.Message}", ConfigurationPolicy.Authentication); throw; } }); } else { // Create sitefinity user SystemManager.RunWithElevatedPrivilege(p => { try { CreateUser(externalProvider.DataProviderName, externalProvider.Name, oidcUser.Email, oidcUser.Id.ToString(), oidcUser.FirstName, oidcUser.LastName); } catch (Exception ex) { Log.Write($"Failed to create user. Message: {ex.Message}", ConfigurationPolicy.Authentication); throw; } }); } sitefinityUser = userManager.GetUser(oidcUser.Email); return(sitefinityUser); } return(null); }
public AuthenticationProviderElement GetAuthenticationProviderElement() { var authenticationProviderElement = new AuthenticationProviderElement { Name = IdentityProviderName, IsGuestProvider = true, LinkHtml = "<div style=\"padding: 20px 20px 30px; text-align: center; \"><button class=\"btn btn-success\" type=\"button\" ng-click=\"signIn()\" focus-on=\"guest\" ng-disabled=\"isSubmitting.busy\">Sign in as a guest</button></div>" }; return(authenticationProviderElement); }
public AuthenticationProviderElement GetAuthenticationProviderElement(string siteBaseUri) { var authenticationProviderElement = new AuthenticationProviderElement { Name = IdentityProviderName, LinkHtml = LoginLinkHtml(siteBaseUri) }; authenticationProviderElement.Links.Add(AuthenticationProviderElement.AuthenticateLinkName, siteBaseUri + AuthenticateUri); return(authenticationProviderElement); }
public AuthenticationProviderElement GetAuthenticationProviderElement() { var authenticationProviderElement = new AuthenticationProviderElement { Name = IdentityProviderName, FormsLoginEnabled = configurationStore.GetAllowFormsAuthenticationForDomainUsers(), LinkHtml = LinkHtml() }; authenticationProviderElement.Links.Add(AuthenticationProviderElement.AuthenticateLinkName, "~" + ChallengeUri); return(authenticationProviderElement); }
public AuthenticationProviderElement GetAuthenticationProviderElement() { var authenticationProviderElement = new AuthenticationProviderElement { Name = IdentityProviderName, LinkHtml = LoginLinkHtml() }; authenticationProviderElement.Links.Add(AuthenticationProviderElement.AuthenticateLinkName, "~" + AuthenticateUri); return(authenticationProviderElement); }
public AuthenticationProviderElement GetAuthenticationProviderElement(string requestDirectoryPath) { var authenticationProviderElement = new AuthenticationProviderElement { Name = IdentityProviderName, FormsLoginEnabled = configurationStore.GetAllowFormsAuthenticationForDomainUsers(), FormsUsernameIdentifiers = new [] { @"\", "@" }, LinkHtml = LinkHtml(requestDirectoryPath) }; authenticationProviderElement.Links.Add(AuthenticationProviderElement.FormsAuthenticateLinkName, "~" + AuthenticateUri); authenticationProviderElement.Links.Add(AuthenticationProviderElement.AuthenticateLinkName, "~" + ChallengeUri); return(authenticationProviderElement); }