Search in sources :

Example 6 with UserEntity

use of com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity in project webauthn4j-spring-security by webauthn4j.

the class ProfileController method create.

@PostMapping
public ProfileForm create(@Valid @RequestBody ProfileCreateForm profileCreateForm) {
    UserEntity userEntity = mapper.mapForCreate(profileCreateForm);
    UserEntity createdUserEntity = profileAppService.create(userEntity);
    return mapper.mapToProfileForm(createdUserEntity);
}
Also used : UserEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity)

Example 7 with UserEntity

use of com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity in project webauthn4j-spring-security by webauthn4j.

the class ProfileController method update.

@PutMapping
public ProfileForm update(@AuthenticationPrincipal UserEntity loginUserEntity, @Valid @RequestBody ProfileUpdateForm profileUpdateForm) {
    int id = loginUserEntity.getId();
    UserEntity updatedUserEntity = profileAppService.update(id, profileUpdateForm);
    return mapper.mapToProfileForm(updatedUserEntity);
}
Also used : UserEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity)

Example 8 with UserEntity

use of com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity in project webauthn4j-spring-security by webauthn4j.

the class AppSpecificMapper method mapToProfileForm.

public ProfileForm mapToProfileForm(UserEntity userEntity) {
    ProfileForm profileForm = new ProfileForm();
    profileForm.setId(userEntity.getId());
    profileForm.setUserHandle(mapToBase64Url(userEntity.getUserHandle()));
    profileForm.setFirstName(userEntity.getFirstName());
    profileForm.setLastName(userEntity.getLastName());
    profileForm.setEmailAddress(userEntity.getEmailAddress());
    // authenticators
    profileForm.setAuthenticators(new ArrayList<>());
    mapToAuthenticatorFormList(userEntity.getAuthenticators(), profileForm.getAuthenticators());
    profileForm.setSingleFactorAuthenticationAllowed(userEntity.getAuthorities().stream().anyMatch(authorityEntity -> authorityEntity.getAuthority().equals("SINGLE_FACTOR_AUTHN_ALLOWED")));
    return profileForm;
}
Also used : WebAuthnSampleEntityNotFoundException(com.webauthn4j.springframework.security.webauthn.sample.domain.exception.WebAuthnSampleEntityNotFoundException) Arrays(java.util.Arrays) AuthenticatorForm(com.webauthn4j.springframework.security.webauthn.sample.app.api.AuthenticatorForm) ProfileCreateForm(com.webauthn4j.springframework.security.webauthn.sample.app.api.ProfileCreateForm) ProfileForm(com.webauthn4j.springframework.security.webauthn.sample.app.api.ProfileForm) UserEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity) AuthenticatorEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.AuthenticatorEntity) Autowired(org.springframework.beans.factory.annotation.Autowired) Base64UrlUtil(com.webauthn4j.util.Base64UrlUtil) ArrayList(java.util.ArrayList) Component(org.springframework.stereotype.Component) List(java.util.List) PasswordEncoder(org.springframework.security.crypto.password.PasswordEncoder) AuthorityEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.AuthorityEntity) ProfileUpdateForm(com.webauthn4j.springframework.security.webauthn.sample.app.api.ProfileUpdateForm) ProfileForm(com.webauthn4j.springframework.security.webauthn.sample.app.api.ProfileForm)

Example 9 with UserEntity

use of com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity in project webauthn4j-spring-security by webauthn4j.

the class WithMockWebAuthnUserSecurityContextFactory method createSecurityContext.

/**
 * Create a {@link SecurityContext} given an Annotation.
 *
 * @param user the {@link WithMockWebAuthnUser} to create the {@link SecurityContext}
 *             from. Cannot be null.
 * @return the {@link SecurityContext} to use. Cannot be null.
 */
@Override
public SecurityContext createSecurityContext(WithMockWebAuthnUser user) {
    SecurityContext context = SecurityContextHolder.createEmptyContext();
    List<AuthorityEntity> authorities = Arrays.stream(user.authorities()).map((name) -> new AuthorityEntity(null, name)).collect(Collectors.toList());
    List<GroupEntity> groups = Arrays.stream(user.groups()).map(GroupEntity::new).collect(Collectors.toList());
    List<AuthenticatorEntity> authenticatorEntities = Arrays.stream(user.authenticators()).map((name) -> {
        AuthenticatorEntity authenticatorEntity = new AuthenticatorEntity();
        authenticatorEntity.setName(name);
        return authenticatorEntity;
    }).collect(Collectors.toList());
    UserEntity principal = new UserEntity();
    principal.setId(user.id());
    principal.setUserHandle(Base64UrlUtil.decode(user.userHandleBase64Url()));
    principal.setFirstName(user.firstName());
    principal.setLastName(user.lastName());
    principal.setEmailAddress(user.emailAddress());
    principal.setGroups(groups);
    principal.setAuthorities(authorities);
    principal.setAuthenticators(authenticatorEntities);
    principal.setLocked(user.locked());
    WebAuthnAuthenticationRequest request = mock(WebAuthnAuthenticationRequest.class);
    Authentication auth = new WebAuthnAuthenticationToken(principal, request, principal.getAuthorities());
    context.setAuthentication(auth);
    return context;
}
Also used : Arrays(java.util.Arrays) UserEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity) GroupEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.GroupEntity) WithSecurityContextFactory(org.springframework.security.test.context.support.WithSecurityContextFactory) AuthenticatorEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.AuthenticatorEntity) Base64UrlUtil(com.webauthn4j.util.Base64UrlUtil) Collectors(java.util.stream.Collectors) WebAuthnAuthenticationToken(com.webauthn4j.springframework.security.WebAuthnAuthenticationToken) List(java.util.List) WebAuthnAuthenticationRequest(com.webauthn4j.springframework.security.WebAuthnAuthenticationRequest) SecurityContext(org.springframework.security.core.context.SecurityContext) AuthorityEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.AuthorityEntity) Authentication(org.springframework.security.core.Authentication) SecurityContextHolder(org.springframework.security.core.context.SecurityContextHolder) Mockito.mock(org.mockito.Mockito.mock) AuthenticatorEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.AuthenticatorEntity) WebAuthnAuthenticationRequest(com.webauthn4j.springframework.security.WebAuthnAuthenticationRequest) GroupEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.GroupEntity) Authentication(org.springframework.security.core.Authentication) SecurityContext(org.springframework.security.core.context.SecurityContext) UserEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity) WebAuthnAuthenticationToken(com.webauthn4j.springframework.security.WebAuthnAuthenticationToken) AuthorityEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.AuthorityEntity)

Example 10 with UserEntity

use of com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity in project webauthn4j-spring-security by webauthn4j.

the class GroupManagerImpl method addUserToGroup.

@Override
public void addUserToGroup(int userId, int groupId) {
    UserEntity userEntityEntity = userEntityRepository.findById(userId).orElseThrow(() -> new WebAuthnSampleEntityNotFoundException("User not found"));
    GroupEntity groupEntity = groupEntityRepository.findById(groupId).orElseThrow(() -> new WebAuthnSampleEntityNotFoundException("Group not found."));
    groupEntity.getUsers().add(userEntityEntity);
}
Also used : WebAuthnSampleEntityNotFoundException(com.webauthn4j.springframework.security.webauthn.sample.domain.exception.WebAuthnSampleEntityNotFoundException) GroupEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.GroupEntity) UserEntity(com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity)

Aggregations

UserEntity (com.webauthn4j.springframework.security.webauthn.sample.domain.entity.UserEntity)15 AuthorityEntity (com.webauthn4j.springframework.security.webauthn.sample.domain.entity.AuthorityEntity)7 WebAuthnSampleEntityNotFoundException (com.webauthn4j.springframework.security.webauthn.sample.domain.exception.WebAuthnSampleEntityNotFoundException)4 GroupEntity (com.webauthn4j.springframework.security.webauthn.sample.domain.entity.GroupEntity)3 Test (org.junit.Test)3 WebMvcTest (org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest)3 AuthenticatorEntity (com.webauthn4j.springframework.security.webauthn.sample.domain.entity.AuthenticatorEntity)2 WithMockWebAuthnUser (com.webauthn4j.springframework.security.webauthn.sample.test.WithMockWebAuthnUser)2 Base64UrlUtil (com.webauthn4j.util.Base64UrlUtil)2 ArrayList (java.util.ArrayList)2 Arrays (java.util.Arrays)2 List (java.util.List)2 PublicKeyCredentialUserEntity (com.webauthn4j.data.PublicKeyCredentialUserEntity)1 WebAuthnAuthenticationRequest (com.webauthn4j.springframework.security.WebAuthnAuthenticationRequest)1 WebAuthnAuthenticationToken (com.webauthn4j.springframework.security.WebAuthnAuthenticationToken)1 PrincipalNotFoundException (com.webauthn4j.springframework.security.exception.PrincipalNotFoundException)1 AuthenticatorForm (com.webauthn4j.springframework.security.webauthn.sample.app.api.AuthenticatorForm)1 ProfileCreateForm (com.webauthn4j.springframework.security.webauthn.sample.app.api.ProfileCreateForm)1 ProfileForm (com.webauthn4j.springframework.security.webauthn.sample.app.api.ProfileForm)1 ProfileUpdateForm (com.webauthn4j.springframework.security.webauthn.sample.app.api.ProfileUpdateForm)1