Sample OpenID Connect Authorizator

182 views
Skip to first unread message

Alexandre

unread,
Jun 29, 2017, 10:08:51 PM6/29/17
to Pac4j users mailing list
Hi, I'm a beginner with pac4j.

I'm using Spring MVC + Spring Boot to implement an example of simple authentication with OpenIDConnect.

I'm getting the push to urlDiscovery (which will be my authenticator) made by OidcClient, however, I'm not able to retrieve those values sent to my Provider.

Can someone help me?

Pac4jConfig:
@Bean
    public Config config() {
final OidcConfiguration oidcConfiguration = new OidcConfiguration();
        
oidcConfiguration.setClientId(oidcConfig.getClientId());
        oidcConfiguration.setSecret(oidcConfig.getSecret());
        oidcConfiguration.setUseNonce(true);
        oidcConfiguration.setDiscoveryURI(oidcConfig.getDiscoveryUri());
        oidcConfiguration.setScope("openid");
        oidcConfiguration.setClientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC);
        oidcConfiguration.addCustomParam("prompt", "consent");
        oidcConfiguration.setUseNonce(true);
        
        final OidcClient oidcClient = new OidcClient(oidcConfiguration);
        oidcClient.setCallbackUrl(oidcConfig.CLIENT_CALLBACK);
                
        final Clients clients = new Clients(oidcConfig.CLIENT_CALLBACK, oidcClient);

        final Config config = new Config(clients);
        
        return config;
}

Auth:
@RestController
@RequestMapping("/oidc/.well-known/openid-configuration")
public class Auth{

@GetMapping("/")
public void authenticationGET(OidcClient clientReceive){
System.out.println("> GET: "+clientReceive); 
}
}

Print result:
> GET: #OidcClient# | name: OidcClient | callbackUrl: null | urlResolver: org.pac4j.core.http.DefaultUrlResolver@7ccbc9d3 | ajaxRequestResolver: org.pac4j.core.http.DefaultAjaxRequestResolver@78f44292 | redirectActionBuilder: null | credentialsExtractor: null | authenticator: null | profileCreator: org.pac4j.core.profile.creator.AuthenticatorProfileCreator@563417 | logoutActionBuilder: org.pac4j.core.logout.NoLogoutActionBuilder@58860877 | configuration: #OidcConfiguration# | clientId: null | secret: [protected] | discoveryURI: null | scope: null | customParams: {} | clientAuthenticationMethod: null | useNonce: false | preferredJwsAlgorithm: null | maxClockSkew: 30 | connectTimeout: 500 | readTimeout: 5000 | resourceRetriever: null | callbackUrl: null | responseType: null | responseMode: null | logoutUrl: null | |

Also, how do I get this data and start creating an authentication Token?

Jérôme LELEU

unread,
Jun 30, 2017, 12:34:49 PM6/30/17
to Alexandre, Pac4j users mailing list
Hi,

Just properly configure an OidcClient (with the discovery URL) and secure an endpoint with this client. The authentication will work out of the box.


Thanks.
Best regards,
Jérôme


Garanti sans virus. www.avast.com

--
You received this message because you are subscribed to the Google Groups "Pac4j users mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pac4j-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages