88import com .nimbusds .oauth2 .sdk .GrantType ;
99import com .nimbusds .oauth2 .sdk .ResponseMode ;
1010import io .restassured .response .Response ;
11+ import lombok .SneakyThrows ;
1112import oidc .AbstractIntegrationTest ;
1213import oidc .model .AuthorizationCode ;
1314import oidc .model .OpenIDClient ;
@@ -481,4 +482,30 @@ public void authorizeUnknownClient() {
481482 .statusCode (401 )
482483 .body ("message" , equalTo ("ClientID nope or secret is not correct" ));
483484 }
485+
486+ @ SneakyThrows
487+ @ Test
488+ public void authorizeWithPost () {
489+ Map <String , String > parametersMap = new HashMap <>();
490+ parametersMap .put ("scope" , "openid" );
491+ parametersMap .put ("response_type" , "code" );
492+ parametersMap .put ("client_id" , "mock-sp" );
493+ parametersMap .put ("redirect_uri" , openIDClient ("mock-sp" ).getRedirectUrls ().get (0 ));
494+ parametersMap .put ("state" , "state" );
495+ parametersMap .put ("nonce" , "nonce" );
496+ Response response = given ()
497+ .redirects ().follow (false )
498+ .when ()
499+ .header ("Content-type" , "application/x-www-form-urlencoded" )
500+ .formParams (parametersMap )
501+ .post ("oidc/authorize" );
502+ String code = getCode (response );
503+ Map <String , Object > tokenResponse = doToken (code );
504+ String idToken = (String ) tokenResponse .get ("id_token" );
505+
506+ JWTClaimsSet claimsSet = processToken (idToken , port );
507+ assertEquals ("nonce" , claimsSet .getClaim ("nonce" ));
508+ assertNotNull (claimsSet .getClaim ("auth_time" ));
509+ }
510+
484511}
0 commit comments