Hi All, I got a response from OIDC community and according them handling consent is implementation specific. So in other words both the behaviors 1. Considering 'approve' in the same session as pre-configured consent 2. Not considering 'approve' in the same session as pre-configured consent can be acceptable.
If we are moving ahead with the current implementation we need to provide 'approve_always' instead of 'approve' in that test case in order to pass it. So I will keep the implementation as it is and wont introduce the new behavior. Thanks, Hasanthi Dissanayake Software Engineer | WSO2 E: hasan...@wso2.com M :0718407133| http://wso2.com <http://wso2.com/> On Mon, Jul 18, 2016 at 4:56 PM, Hasanthi Purnima Dissanayake < hasan...@wso2.com> wrote: > Hi Johann, > > No the spec directly says 'If does not have *per-configured consent*'. > Those days when we were implementing this we interpreted per-configured > session as 'approve-always' or file based 'skip-consent=true'. > > Anyway I will raise this to OIDC community. > > Thanks, > > Hasanthi Dissanayake > > Software Engineer | WSO2 > > E: hasan...@wso2.com > M :0718407133| http://wso2.com <http://wso2.com/> > > On Mon, Jul 18, 2016 at 4:11 PM, Johann Nallathamby <joh...@wso2.com> > wrote: > >> Hmm.. does the spec say anything related to this. If not better we send a >> mail to OIDC community and check this out. But if the compliance tests are >> failing lets go ahead with this new behaviour but let's introduce a >> property to turn back the old behaviour and make the new the default. >> >> On Mon, Jul 18, 2016 at 4:05 PM, Hasanthi Purnima Dissanayake < >> hasan...@wso2.com> wrote: >> >>> Hi All, >>> According to the spec [1] when prompt=none the result should as below. >>> >>>> The Authorization Server MUST NOT display any authentication or consent >>>> user interface pages. An error is returned if an End-User is not already >>>> authenticated or the Client does not have per-configured consent for the >>>> requested Claims or does not fulfill other conditions for processing the >>>> request >>> >>> >>> So if we consider a scenario like >>> 1. User sends authorization request without any prompt value to the IS >>> server >>> 2. Server gives the login page >>> 3. User provides credentials >>> 4. Authentication successful and server returns consent page >>> 5. User provides consent as 'Approve' >>> 6. User send a authorization request with prompt =none >>> >>> According to our current implementation it gives an error page with >>> consent-required error as the server does not have "trusted_always" in the >>> db table or "skipConsent=true" in file. But when executing the OIDC >>> compliance test cases in such a scenario it expects this as a successful >>> authentication as we have set the consent as approve in the same session. >>> >>> So if we are doing this we need to skip the consent page if the their is >>> a session with consent=approve. Do we need to change our implementation >>> according to this? Any suggestions will be highly appreciated. >>> >>> >>> The output of the test case is as below. >>> Trace output >>> >>> >>> 0.000497 ------------ AuthorizationRequest ------------ >>> 0.000903 --> URL: >>> https://210.90.95.XXX:9443/oauth2/authorize?scope=openid&state=hwcw3vhktnBaM99R&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60746%2Fauthz_cb&response_type=code&client_id=4rYClwGnY4CE_XXAkMCoWuI4mnIa >>> 0.000910 --> BODY: None >>> 70.472175 <-- >>> code=de0696cf-7183-3c31-a13c-92695101e589&state=hwcw3vhktnBaM99R&session_state=927dc2d850b486e4a5d76a5f0d0dd3c1829b4e0007e11e58b1a9fbf17a3fff18._ynyYSwWWERr2-QI1X8sDg >>> 70.472683 AuthorizationResponse: { >>> "code": "de0696cf-7183-3c31-a13c-92695101e589", >>> "session_state": >>> "927dc2d850b486e4a5d76a5f0d0dd3c1829b4e0007e11e58b1a9fbf17a3fff18._ynyYSwWWERr2-QI1X8sDg", >>> "state": "hwcw3vhktnBaM99R" >>> } >>> 70.473121 ------------ AccessTokenRequest ------------ >>> 70.473556 --> URL: https://210.90.95.XXX:9443/oauth2/token >>> 70.473561 --> BODY: >>> code=de0696cf-7183-3c31-a13c-92695101e589&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60746%2Fauthz_cb >>> 70.473575 --> HEADERS: {'Content-Type': >>> 'application/x-www-form-urlencoded', 'Authorization': u'Basic >>> NHJZQ2x3R25ZNENFX1hYQWtNQ29XdUk0bW5JYTpBdE8wenhmNjJLb1lhc1lUb2JPR1JYVlJaWHNh'} >>> 74.644260 <-- STATUS: 200 >>> 74.644479 <-- BODY: >>> {"access_token":"399d4582-967f-3083-831e-f5c4a6665e4a","refresh_token":"e9f533c3-a867-3758-8edc-2c10b2be0cd3","scope":"openid","id_token":"eyJ4NXQiOiJObUptT0dVeE16WmxZak0yWkRSaE5UWmxZVEExWXpkaFpUUmlPV0UwTldJMk0ySm1PVGMxWkEiLCJraWQiOiIxNTA4MzI3Zjg1M2RlODkzZWVhYTg2YzIwMTUyNjg5NWQxZTk1MTQzIiwiYWxnIjoiUlMyNTYifQ.eyJhdF9oYXNoIjoiQ1dSTWNFSkNDUURWeUtGMVlDWklmZyIsInN1YiI6ImFkbWluIiwiYXVkIjpbIjRyWUNsd0duWTRDRV9YWEFrTUNvV3VJNG1uSWEiXSwiYXpwIjoiNHJZQ2x3R25ZNENFX1hYQWtNQ29XdUk0bW5JYSIsImF1dGhfdGltZSI6MTQ2ODgzNTEwMCwiaXNzIjoiaHR0cHM6XC9cLzIwMy45NC45NS4yMTU6OTQ0M1wvIiwiZXhwIjoxNDY4ODM5OTQ0LCJpYXQiOjE0Njg4MzYzNDR9.M3Er8G4M05JPXmm-YOsOVcimGrzr9GwSmKeqGQBMTP0ZCpJ9NlFN-SR5HJ9xcH8Tc-dh201euilqPLzkfq2annbIS8V7gkS2ttnryjp0eTDIX3p4gKoLo1HfEARb4iB6r6ovDIzqytYMPacZj5t7uxBxSz2Aiu6qjkNOb5uY7Ss","token_type":"Bearer","expires_in":2056} >>> 76.777209 AccessTokenResponse: { >>> "access_token": "399d4582-967f-3083-831e-f5c4a6665e4a", >>> "expires_in": 2056, >>> "id_token": { >>> "claims": { >>> "at_hash": "CWRMcEJCCQDVyKF1YCZIfg", >>> "aud": [ >>> "4rYClwGnY4CE_XXAkMCoWuI4mnIa" >>> ], >>> "auth_time": 1468835100, >>> "azp": "4rYClwGnY4CE_XXAkMCoWuI4mnIa", >>> "exp": 1468839944, >>> "iat": 1468836344, >>> "iss": "https://210.90.95.XXX:9443/", >>> "sub": "admin" >>> }, >>> "jws header parameters": { >>> "alg": "RS256", >>> "kid": "1508327f853de893eeaa86c201526895d1e95143", >>> "x5t": "NmJmOGUxMzZlYjM2ZDRhNTZlYTA1YzdhZTRiOWE0NWI2M2JmOTc1ZA" >>> } >>> }, >>> "refresh_token": "e9f533c3-a867-3758-8edc-2c10b2be0cd3", >>> "scope": "openid", >>> "token_type": "Bearer" >>> } >>> 76.788640 ------------ AuthorizationRequest ------------ >>> 76.789114 --> URL: >>> https://210.90.95.XXX:9443/oauth2/authorize?prompt=none&state=AstNRnS88v73aAjI&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60746%2Fauthz_cb&response_type=code&client_id=4rYClwGnY4CE_XXAkMCoWuI4mnIa&scope=openid >>> 76.789121 --> BODY: None >>> 108.266371 <-- >>> code=684a2084-b823-35fc-baed-d73fdb6a9694&state=AstNRnS88v73aAjI&session_state=62a0bd33903999d7245654681f715e9700377e6b5ccaaf84ecb98b40311d8214.9iW0pFCokaZQXs4mZAp1jg >>> 108.266883 AuthorizationResponse: { >>> "code": "684a2084-b823-35fc-baed-d73fdb6a9694", >>> "session_state": >>> "62a0bd33903999d7245654681f715e9700377e6b5ccaaf84ecb98b40311d8214.9iW0pFCokaZQXs4mZAp1jg", >>> "state": "AstNRnS88v73aAjI" >>> } >>> 108.268413 ------------ AccessTokenRequest ------------ >>> 108.268842 --> URL: https://210.90.95.XXX:9443/oauth2/token >>> 108.268848 --> BODY: >>> code=684a2084-b823-35fc-baed-d73fdb6a9694&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60746%2Fauthz_cb >>> 108.268861 --> HEADERS: {'Content-Type': >>> 'application/x-www-form-urlencoded', 'Authorization': u'Basic >>> NHJZQ2x3R25ZNENFX1hYQWtNQ29XdUk0bW5JYTpBdE8wenhmNjJLb1lhc1lUb2JPR1JYVlJaWHNh'} >>> 109.497011 <-- STATUS: 200 >>> 109.497233 <-- BODY: >>> {"access_token":"399d4582-967f-3083-831e-f5c4a6665e4a","refresh_token":"e9f533c3-a867-3758-8edc-2c10b2be0cd3","scope":"openid","id_token":"eyJ4NXQiOiJObUptT0dVeE16WmxZak0yWkRSaE5UWmxZVEExWXpkaFpUUmlPV0UwTldJMk0ySm1PVGMxWkEiLCJraWQiOiIxNTA4MzI3Zjg1M2RlODkzZWVhYTg2YzIwMTUyNjg5NWQxZTk1MTQzIiwiYWxnIjoiUlMyNTYifQ.eyJhdF9oYXNoIjoiQ1dSTWNFSkNDUURWeUtGMVlDWklmZyIsInN1YiI6ImFkbWluIiwiYXVkIjpbIjRyWUNsd0duWTRDRV9YWEFrTUNvV3VJNG1uSWEiXSwiYXpwIjoiNHJZQ2x3R25ZNENFX1hYQWtNQ29XdUk0bW5JYSIsImF1dGhfdGltZSI6MTQ2ODgzNTEwMCwiaXNzIjoiaHR0cHM6XC9cLzIwMy45NC45NS4yMTU6OTQ0M1wvIiwiZXhwIjoxNDY4ODM5OTc5LCJpYXQiOjE0Njg4MzYzNzl9.R81RqhJpS_qteUfH_sEQLFYLTbqS5k8GkpM4gaya3rz1yj62OB6ruXOSXFcmTYm11O-5qqJf36FOB1WFfyGNqmfKKy6XIggd6QMCdCh8yhcm8YlDKv_7VUtuFY3O0juLFCN59WEABGcl2sbJTSOGgfcZMHFwFLjKEzAnv8smQEg","token_type":"Bearer","expires_in":2021} >>> 109.503787 AccessTokenResponse: { >>> "access_token": "399d4582-967f-3083-831e-f5c4a6665e4a", >>> "expires_in": 2021, >>> "id_token": { >>> "claims": { >>> "at_hash": "CWRMcEJCCQDVyKF1YCZIfg", >>> "aud": [ >>> "4rYClwGnY4CE_XXAkMCoWuI4mnIa" >>> ], >>> "auth_time": 1468835100, >>> "azp": "4rYClwGnY4CE_XXAkMCoWuI4mnIa", >>> "exp": 1468839979, >>> "iat": 1468836379, >>> "iss": "https://210.90.95.XXX:9443/", >>> "sub": "admin" >>> }, >>> "jws header parameters": { >>> "alg": "RS256", >>> "kid": "1508327f853de893eeaa86c201526895d1e95143", >>> "x5t": "NmJmOGUxMzZlYjM2ZDRhNTZlYTA1YzdhZTRiOWE0NWI2M2JmOTc1ZA" >>> } >>> }, >>> "refresh_token": "e9f533c3-a867-3758-8edc-2c10b2be0cd3", >>> "scope": "openid", >>> "token_type": "Bearer" >>> } >>> 109.515598 ==== END ==== >>> >>> >>> ------------------------------ >>> ResultPASSED >>> >>> >>> >>> Hasanthi Dissanayake >>> >>> Software Engineer | WSO2 >>> >>> E: hasan...@wso2.com >>> M :0718407133| http://wso2.com <http://wso2.com/> >>> >> >> >> >> -- >> Thanks & Regards, >> >> *Johann Dilantha Nallathamby* >> Technical Lead & Product Lead of WSO2 Identity Server >> Governance Technologies Team >> WSO2, Inc. >> lean.enterprise.middleware >> >> Mobile - *+94777776950* >> Blog - *http://nallaa.wordpress.com <http://nallaa.wordpress.com>* >> > >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev