protected AuthenticationHandlerExecutionResult createResult ( final ClientCredential credentials , final UserProfile profile , final BaseClient client ) throws GeneralSecurityException { if ( profile == null ) { throw new FailedLoginException ( "Authentication did not produce a user profile for: " + credentials ) ; } val id = determinePrincipalIdFrom ( profile , client ) ; if ( StringUtils . isBlank ( id ) ) { throw new FailedLoginException ( "No identifier found for this user profile: " + profile ) ; } credentials . setUserProfile ( profile ) ; credentials . setTypedIdUsed ( isTypedIdUsed ) ; val attributes = CoreAuthenticationUtils . convertAttributeValuesToMultiValuedObjects ( profile . getAttributes ( ) ) ; val principal = this . principalFactory . createPrincipal ( id , attributes ) ; LOGGER . debug ( "Constructed authenticated principal [{}] based on user profile [{}]" , principal , profile ) ; return finalizeAuthenticationHandlerResult ( credentials , principal , profile , client ) ; }
Build the handler result .