@Test public void doGetUserDetails_deprecated_api() { ExternalUsersProvider provider = new ExternalUsersProvider() { @Override public UserDetails doGetUserDetails(String username) { UserDetails user = new UserDetails(); user.setName(username); user.setEmail("foo@bar.com"); return user; } }; UserDetails user = provider.doGetUserDetails(new ExternalUsersProvider.Context("foo", mock(HttpServletRequest.class))); assertThat(user.getName()).isEqualTo("foo"); assertThat(user.getEmail()).isEqualTo("foo@bar.com"); } }
@Test public void doGetUserDetails() { ExternalUsersProvider provider = new ExternalUsersProvider() { @Override public UserDetails doGetUserDetails(Context context) { Preconditions.checkNotNull(context.getUsername()); Preconditions.checkNotNull(context.getRequest()); UserDetails user = new UserDetails(); user.setName(context.getUsername()); user.setEmail("foo@bar.com"); return user; } }; UserDetails user = provider.doGetUserDetails(new ExternalUsersProvider.Context("foo", mock(HttpServletRequest.class))); assertThat(user.getName()).isEqualTo("foo"); assertThat(user.getEmail()).isEqualTo("foo@bar.com"); }
private UserDto synchronize(String userLogin, UserDetails details, HttpServletRequest request, AuthenticationEvent.Method method) { String name = details.getName(); UserIdentity.Builder userIdentityBuilder = UserIdentity.builder() .setLogin(userLogin) .setName(isEmpty(name) ? userLogin : name) .setEmail(trimToNull(details.getEmail())) .setProviderLogin(userLogin); if (externalGroupsProvider != null) { ExternalGroupsProvider.Context context = new ExternalGroupsProvider.Context(userLogin, request); Collection<String> groups = externalGroupsProvider.doGetGroups(context); userIdentityBuilder.setGroups(new HashSet<>(groups)); } return userRegistrar.register( UserRegistration.builder() .setUserIdentity(userIdentityBuilder.build()) .setProvider(new ExternalIdentityProvider()) .setSource(realmEventSource(method)) .setExistingEmailStrategy(ExistingEmailStrategy.FORBID) .setUpdateLoginStrategy(UpdateLoginStrategy.ALLOW) .build()); }
@Test public void test() { UserDetails userDetails = new UserDetails(); userDetails.setAge((short) 23); userDetails.setEmail("kumar.sambhav.jain@gmail.com"); Assert.assertNotNull(userDetails); Assert.assertNotNull(userDetails.getEmail()); // Start monitoring changes userDetails.startMonitor(); userDetails.setAge((short) 23); Assert.assertFalse((userDetails.hasChanged())); // 23 to 23 -> not changed userDetails.setEmail("kjai10@gmail.com"); Assert.assertTrue(userDetails.hasChanged()); Assert.assertNotNull(userDetails.hasChanged("email")); Assert.assertTrue(userDetails.hasChanged("email").equals( "kumar.sambhav.jain@gmail.com")); SampleBean sb = new SampleBean(); sb.startMonitor(); System.out.println(sb.hasChanged());; }
private UserDto synchronize(String userLogin, UserDetails details, HttpServletRequest request, AuthenticationEvent.Method method) { String name = details.getName(); UserIdentity.Builder userIdentityBuilder = UserIdentity.builder() .setLogin(userLogin) .setName(isEmpty(name) ? userLogin : name) .setEmail(trimToNull(details.getEmail())) .setProviderLogin(userLogin); if (externalGroupsProvider != null) { ExternalGroupsProvider.Context context = new ExternalGroupsProvider.Context(userLogin, request); Collection<String> groups = externalGroupsProvider.doGetGroups(context); userIdentityBuilder.setGroups(new HashSet<>(groups)); } return userIdentityAuthenticator.authenticate( UserIdentityAuthenticatorParameters.builder() .setUserIdentity(userIdentityBuilder.build()) .setProvider(new ExternalIdentityProvider()) .setSource(realmEventSource(method)) .setExistingEmailStrategy(ExistingEmailStrategy.FORBID) .setUpdateLoginStrategy(UpdateLoginStrategy.ALLOW) .build()); }