Hi Isura, As we discussed, client credential grant type should not return an ID > token. So, we have to change the identity.xml file to enable scope > validator by default and make IdTokenAllowed=true in implicit and > password grant handlers. >
+1 Thanks, Hasanthi Dissanayake Software Engineer | WSO2 E: hasan...@wso2.com M :0718407133| http://wso2.com <http://wso2.com/> On Fri, May 26, 2017 at 11:41 AM, Isura Karunaratne <is...@wso2.com> wrote: > Hi Hasanthi, > > As we discussed, client credential grant type should not return an ID > token. So, we have to change the identity.xml file to enable scope > validator by default and make IdTokenAllowed=true in implicit and > password grant handlers. > > Thanks > Isura. > > > On Fri, May 26, 2017 at 7:18 AM, Hasanthi Purnima Dissanayake < > hasan...@wso2.com> wrote: > >> Hi Isura, >> >> If the scope validator is enabled and IdTokenAllowed is not defined for >> a grant type, other than authorization_code grant it wont return any id >> token. >> >> Thanks, >> >> Hasanthi Dissanayake >> >> Software Engineer | WSO2 >> >> E: hasan...@wso2.com >> M :0718407133| http://wso2.com <http://wso2.com/> >> >> On Thu, May 25, 2017 at 11:46 AM, Isura Karunaratne <is...@wso2.com> >> wrote: >> >>> Hi Hasanthi, >>> >>> If the property IdTokenAllowed is not defined for a grant type, what is >>> the default behavior? >>> >>> Thanks >>> Isura. >>> >>> On Wed, May 17, 2017 at 3:29 PM, Hasanthi Purnima Dissanayake < >>> hasan...@wso2.com> wrote: >>> >>>> Hi All, >>>> >>>> We have suggested a new property <IdTokenAllowed> for the parent >>>> <SupportedGrantTypes> along with the <ScopeValidators> segment to >>>> on/off the functionality of issuing the id token for grant types. For >>>> oauthorization_code grant type we ignore this property and issue id token >>>> by default for the 'openid' scope. >>>> >>>> Thanks, >>>> >>>> Hasanthi Dissanayake >>>> >>>> Software Engineer | WSO2 >>>> >>>> E: hasan...@wso2.com >>>> M :0718407133| http://wso2.com <http://wso2.com/> >>>> >>>> On Wed, May 17, 2017 at 7:52 AM, Pushpalanka Jayawardhana < >>>> la...@wso2.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> On Tue, May 16, 2017 at 10:56 PM, Hasanthi Purnima Dissanayake < >>>>> hasan...@wso2.com> wrote: >>>>> >>>>>> Hi Farasath, Lanka >>>>>>> >>>>>>> What about extension grant types like SAML2BearerGrant, JWTBearer or >>>>>>> any other custom grant type we write? >>>>>>> AFAIR we do issue id_tokens to any grant type when "openid" scope is >>>>>>> present. >>>>>> >>>>>> >>>>>> IMO using "openid" scope to issue id_tokens like SAML2Bearer ,etc is >>>>>> not required. >>>>>> >>>>>> If our current implementation allows id_token generation for all >>>>>>> types wouldn't this break existing clients? >>>>>> >>>>>> >>>>>> This is an optional configuration, so we don't break any existing >>>>>> clients here. >>>>>> >>>>>> @Lanka, >>>>>> >>>>>>> >>>>>>> <SupportedGrantTypes> >>>>>>> <SupportedGrantType> >>>>>>> <GrantTypeName>authorization_code</GrantTypeName> >>>>>>> <GrantTypeHandlerImplClass>org >>>>>>> .wso2.carbon.identity.oauth2.token.handlers.grant.Authorizat >>>>>>> ionCodeGrantHandler</GrantTypeHandlerImplClass> >>>>>>> *<isIdTokenAllowed>true<isIdTokenAllowed>* >>>>>>> </SupportedGrantType> >>>>>>> .. >>>>>>> <SupportedGrantTypes> >>>>>>> >>>>>>> We can ship default configuration as the behavior we currently have, >>>>>>> so none of the existing scenarios break. >>>>>>> OIDC scope validator can consume this information from here. >>>>>>> >>>>>> >>>>>> We already have below configuration for the APIM for JDBC Scope >>>>>> validation. >>>>>> >>>>>> <OAuthScopeValidatorclass="org.wso2.carbon.identity.oauth2.v >>>>>> alidators.JDBCScopeValidator"/> >>>>>> >>>>>> This is backward compatible so none of the existing scenarios break. >>>>>> Customers can even plug their own validators here. As this is bit simple >>>>>> shall we proceed with the above configurations? >>>>>> >>>>> Yes, above configuration '*<isIdTokenAllowed>' *was suggested just >>>>> as the location to read whether that grant type allow issuing ID tokens. >>>>> With this configuration it allows flexibility to control IDtoken issuing >>>>> for each grant(when the specs don't enforce anything. ex. when a custom >>>>> grant is registered.) without writing more custom code. >>>>> Enforcing this property can be done through the new ' >>>>> org.wso2.carbon.identity.oauth2.validators.OIDCScopeValidator' class. >>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Hasanthi Dissanayake >>>>>> >>>>>> Software Engineer | WSO2 >>>>>> >>>>>> E: hasan...@wso2.com >>>>>> M :0718407133 <071%20840%207133>| http://wso2.com <http://wso2.com/> >>>>>> >>>>>> On Tue, May 16, 2017 at 9:24 PM, Pushpalanka Jayawardhana < >>>>>> la...@wso2.com> wrote: >>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> On Tue, May 16, 2017 at 8:15 PM, Ishara Karunarathna < >>>>>>> isha...@wso2.com> wrote: >>>>>>> >>>>>>>> intension of using scope validate is to handle OIDC support in a >>>>>>>> single place. >>>>>>>> >>>>>>>> >>>>>>>> On Tue, May 16, 2017 at 7:52 PM, Farasath Ahamed < >>>>>>>> farasa...@wso2.com> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, May 16, 2017 at 7:38 PM, Hasanthi Purnima Dissanayake < >>>>>>>>> hasan...@wso2.com> wrote: >>>>>>>>> >>>>>>>>>> Hi All, >>>>>>>>>> In our current OIDC implementation we support below four grant >>>>>>>>>> types and issue id tokens and user info claims for all the below >>>>>>>>>> grant type. >>>>>>>>>> >>>>>>>>>> - authorization_code >>>>>>>>>> - implicit >>>>>>>>>> - client_credential >>>>>>>>>> - password >>>>>>>>>> >>>>>>>>>> What about extension grant types like SAML2BearerGrant, JWTBearer >>>>>>>>> or any other custom grant type we write? >>>>>>>>> AFAIR we do issue id_tokens to any grant type when "openid" scope >>>>>>>>> is present. >>>>>>>>> >>>>>>>>> >>>>>>>>>> Among those 4 grant types that we have implemented, OIDC spec >>>>>>>>>> discusses about only implict and authorization_code grant types. >>>>>>>>>> According >>>>>>>>>> to the spec "openid" scope value is a must to Inform the >>>>>>>>>> Authorization Server that the client is making an OpenID Connect >>>>>>>>>> request. >>>>>>>>>> So we have introduced a new property in identity.xml as below and we >>>>>>>>>> have >>>>>>>>>> implemented a scope validator to validate whether the grant types are >>>>>>>>>> authorization_code , implicit or password if the scope is openid. >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> <ScopeValidators> >>>>>>>>>> <OAuthScopeValidatorclass="org.wso2.carbon.identity.oauth2.v >>>>>>>>>> alidators.JDBCScopeValidator"/> >>>>>>>>>> <OIDCScopeValidator class="org.wso2.carbon.identit >>>>>>>>>> y.oauth2.validators.OIDCScopeValidator"/> >>>>>>>>>> </ScopeValidators> >>>>>>>>>> >>>>>>>>>> So with the above property and the implementation OIDC grant >>>>>>>>>> types that we are supporting will be authorization_code , >>>>>>>>>> implicit and password grant types. >>>>>>>>>> >>>>>>>>> >>>>>>>>> If our current implementation allows id_token generation for all >>>>>>>>> types wouldn't this break existing clients? >>>>>>>>> >>>>>>>>> If our motive is to stop issuing id_token for client_credential >>>>>>>>> grant type (which makes sense since id_token for client_credentials >>>>>>>>> lacks a >>>>>>>>> semantic value), I feel we should use a blacklisting approach in the >>>>>>>>> OIDCScopeValidator and not issue id_token by checking if the request >>>>>>>>> comes >>>>>>>>> from the grant_type client_credentials. >>>>>>>>> >>>>>>>>> To keep the backward compatibility and cater customer requirements >>>>>>>> better to get OIDC supported information from property >>>>>>>> +1 for this >>>>>>>> >>>>>>> In that isn't it better to keep that property along with the grant >>>>>>> type registration, like below. >>>>>>> >>>>>>> <SupportedGrantTypes> >>>>>>> <SupportedGrantType> >>>>>>> <GrantTypeName>authorization_code</GrantTypeName> >>>>>>> <GrantTypeHandlerImplClass>org >>>>>>> .wso2.carbon.identity.oauth2.token.handlers.grant.Authorizat >>>>>>> ionCodeGrantHandler</GrantTypeHandlerImplClass> >>>>>>> *<isIdTokenAllowed>true<isIdTokenAllowed>* >>>>>>> </SupportedGrantType> >>>>>>> .. >>>>>>> <SupportedGrantTypes> >>>>>>> >>>>>>> We can ship default configuration as the behavior we currently have, >>>>>>> so none of the existing scenarios break. >>>>>>> OIDC scope validator can consume this information from here. >>>>>>> >>>>>>> >>>>>>>> -Ishara >>>>>>>> >>>>>>>>> WDYT? >>>>>>>>> >>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> >>>>>>>>>> Hasanthi Dissanayake >>>>>>>>>> >>>>>>>>>> Software Engineer | WSO2 >>>>>>>>>> >>>>>>>>>> E: hasan...@wso2.com >>>>>>>>>> M :0718407133 <071%20840%207133>| http://wso2.com >>>>>>>>>> <http://wso2.com/> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Ishara Karunarathna >>>>>>>> Associate Technical Lead >>>>>>>> WSO2 Inc. - lean . enterprise . middleware | wso2.com >>>>>>>> >>>>>>>> email: isha...@wso2.com, blog: isharaaruna.blogspot.com, >>>>>>>> mobile: +94717996791 <071%20799%206791> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Pushpalanka. >>>>>>> -- >>>>>>> Pushpalanka Jayawardhana, B.Sc.Eng.(Hons). >>>>>>> Senior Software Engineer, WSO2 Lanka (pvt) Ltd; wso2.com/ >>>>>>> Mobile: +94779716248 >>>>>>> Blog: pushpalankajaya.blogspot.com/ | LinkedIn: lk.linkedin.com/in/p >>>>>>> ushpalanka/ | Twitter: @pushpalanka >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Pushpalanka. >>>>> -- >>>>> Pushpalanka Jayawardhana, B.Sc.Eng.(Hons). >>>>> Senior Software Engineer, WSO2 Lanka (pvt) Ltd; wso2.com/ >>>>> Mobile: +94779716248 >>>>> Blog: pushpalankajaya.blogspot.com/ | LinkedIn: lk.linkedin.com/in/p >>>>> ushpalanka/ | Twitter: @pushpalanka >>>>> >>>>> >>>> >>> >>> >>> -- >>> >>> *Isura Dilhara Karunaratne* >>> Senior Software Engineer | WSO2 >>> Email: is...@wso2.com >>> Mob : +94 772 254 810 <+94%2077%20225%204810> >>> Blog : http://isurad.blogspot.com/ >>> >>> >>> >>> >> > > > -- > > *Isura Dilhara Karunaratne* > Senior Software Engineer | WSO2 > Email: is...@wso2.com > Mob : +94 772 254 810 <+94%2077%20225%204810> > Blog : http://isurad.blogspot.com/ > > > >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev