public Event buildAuthenticationRequestEvent ( final RequestContext context ) { val clients = new ArrayList < WsFedClient > ( ) ; val request = WebUtils . getHttpServletRequestFromExternalWebflowContext ( context ) ; val service = ( Service ) context . getFlowScope ( ) . get ( CasProtocolConstants . PARAMETER_SERVICE ) ; this . configurations . forEach ( cfg -> { val c = new WsFedClient ( ) ; c . setName ( cfg . getName ( ) ) ; val id = UUID . randomUUID ( ) . toString ( ) ; val rpId = wsFederationHelper . getRelyingPartyIdentifier ( service , cfg ) ; c . setAuthorizationUrl ( cfg . getAuthorizationUrl ( rpId , id ) ) ; c . setReplyingPartyId ( rpId ) ; c . setId ( id ) ; c . setRedirectUrl ( getRelativeRedirectUrlFor ( cfg , service , request ) ) ; c . setAutoRedirect ( cfg . isAutoRedirect ( ) ) ; clients . add ( c ) ; if ( cfg . isAutoRedirect ( ) ) { WebUtils . putDelegatedAuthenticationProviderPrimary ( context , cfg ) ; } } ) ; context . getFlowScope ( ) . put ( PARAMETER_NAME_WSFED_CLIENTS , clients ) ; return new EventFactorySupport ( ) . event ( this , CasWebflowConstants . TRANSITION_ID_PROCEED ) ; }
Build authentication request event event .