On Wed, Aug 21, 2019 at 7:17 AM Malintha Amarasinghe <malint...@wso2.com>
wrote:

>
>
> On Tue, Aug 20, 2019 at 6:37 PM Kasun Thennakoon <kasu...@wso2.com> wrote:
>
>> Hi All,
>>
>>
>> Regarding the @Vithursa Mahendrarajah <vithu...@wso2.com>'s encoding
>> query params issue,
>>
>> What if we simply encode the path parameter using base64 ?
>>
>> for example
>>
>> With URL encoding:
>> https://localhost:9443/api/am/publisher/v1.0/roles/Internal%2Fcreator
>> <https://localhost:9443/api/am/publisher/v1.0/roles/Internal%2Fcreator,>
>> Base 64 encoding:
>> https://localhost:9443/api/am/publisher/v1.0/roles/SW50ZXJuYWwvRmNyZWF0b3I
>> <https://localhost:9443/api/am/publisher/v1.0/roles/Internal%2Fcreator,>
>>
>
>> well, it doesn't look nice. But certainly will work
>>
>>
> I think we can consider it as the roleId.
>
> /roles/{roleId}:
> #-----------------------------------------------------
> # The role existence check resource
> #-----------------------------------------------------
>     head:
>       summary: |
>         Check given role is already exist
>       parameters:
>         - $ref : '#/parameters/roleId'
>
> # Role Id
>   roleId:
>     name: roleId
>     in: path
>     description: |
>       The base64 encoded format of the role name.
>     required: true
>     type: string
>
> The only issue is that all the other places we are using ids in UUID
> format and here we have a difference.
>
> Apart from that, this makes everything else safe and simple;
> 1. No need to split and separate user store from the UI from the separate
> characters. We just need to base64 encode and pass it to the REST API.
> 2. Support multiple character types: @Harsha Kumara <hars...@wso2.com> I
> think different character issue will also be solved with this?
>
Yep it should be fine. I hope usability wise, this won't be a problem.

>
> Hence, +1 from me for the suggested approach.
>
> Thanks!
> Malintha
>
>>
>> Thanks
>> ~KasunTe
>>
>> On Tue, Aug 20, 2019 at 4:45 PM Bhathiya Jayasekara <bhath...@wso2.com>
>> wrote:
>>
>>>
>>>
>>> On Tue, Aug 20, 2019 at 4:38 PM Harsha Kumara <hars...@wso2.com> wrote:
>>>
>>>>
>>>> This is a good finding. Given this issue, I don't think it is a good
>>>>>>>> idea to proceed with the encoded slash in the path.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Alternatively, we can pass user-store in following ways:
>>>>>>>>>
>>>>>>>>>    1. /roles/{rolename}?userstore={userstore}
>>>>>>>>>    2. /userstore/{userstore}/roles/{roleName}
>>>>>>>>>    3. /roles/{rolename}/userstore/{userstore}
>>>>>>>>>    4. Or, need to have a configurable character to differentiate
>>>>>>>>>    user-store and role name. For instance, roles/{userstore}*-*
>>>>>>>>>    {roleName}
>>>>>>>>>
>>>>>>>>> Which way we can implement? Appreciate your suggestions regarding
>>>>>>>>> this.
>>>>>>>>>
>>>>>>>>
>>>>>>>> How do we treat Internal roles? Can we treat "Internal" as a user
>>>>>>>> store?
>>>>>>>>
>>>>>>>> Eg: check if "Internal/subscriber" is available:
>>>>>>>>
>>>>>>>> HEAD /roles/subscriber?userStore=Internal
>>>>>>>>
>>>>>>>> Is this a valid way of representing it?
>>>>>>>>
>>>>>>>
>>>>>>> If we're not allowed to create secondary userstores with the name
>>>>>>> "Internal", this should be ok.
>>>>>>>
>>>>>> For internal roles should be pass this at all?
>>>>>>
>>>>>
>>>>> That should be the behavior for the users in the primary user store
>>>>> right?
>>>>>
>>>> I meant userstore name shouldn't be mandatory parameter for checking
>>>> internal role existence.  If not user store means we can treat it as a
>>>> internal role?
>>>>
>>>
>>> We can't I think. There should be a way to differentiate primary
>>> userstore users and internal users.
>>>
>>> Thanks,
>>> Bhathiya
>>>
>>>
>>>>
>>>>> Thanks,
>>>>> Bhathiya
>>>>>
>>>>>
>>>>>>
>>>>>>> Thanks,
>>>>>>> Bhathiya
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> [1] https://issues.apache.org/jira/browse/CXF-4207
>>>>>>>>> [2]
>>>>>>>>> https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.util/src/main/java/org/wso2/carbon/apimgt/rest/api/util/impl/WebAppAuthenticatorImpl.java#L138
>>>>>>>>> [3]
>>>>>>>>> https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.util/src/main/java/org/wso2/carbon/apimgt/rest/api/util/impl/WebAppAuthenticatorImpl.java#L113
>>>>>>>>> [4]
>>>>>>>>> https://serverfault.com/questions/914847/stop-apache-from-decoding-characters-from-uri-for-path-info
>>>>>>>>> [5] https://backstage.forgerock.com/knowledge/kb/article/a59558448
>>>>>>>>> [6]
>>>>>>>>> http://tomcat.apache.org/tomcat-9.0-doc/security-howto.html#System_Properties
>>>>>>>>> <http://tomcat.apache.org/tomcat-9.0-doc/security-howto.html>
>>>>>>>>>
>>>>>>>>> <http://tomcat.apache.org/tomcat-9.0-doc/security-howto.html>
>>>>>>>>> Thanks,
>>>>>>>>> Vithursa
>>>>>>>>>
>>>>>>>>> On Fri, Aug 16, 2019 at 11:07 AM Vithursa Mahendrarajah <
>>>>>>>>> vithu...@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Ack, will do that.
>>>>>>>>>>
>>>>>>>>>> On Fri, Aug 16, 2019 at 12:16 AM Harsha Kumara <hars...@wso2.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> @Vithursa Mahendrarajah <vithu...@wso2.com> Once you implement,
>>>>>>>>>>> let's add several test cases with special characters, secondary 
>>>>>>>>>>> user store
>>>>>>>>>>> roles and etc.
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Aug 15, 2019 at 4:16 PM Vithursa Mahendrarajah <
>>>>>>>>>>> vithu...@wso2.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for the suggestions. As per the suggestions, we have
>>>>>>>>>>>> decided to go with HEAD request option. As mentioned earlier in 
>>>>>>>>>>>> this
>>>>>>>>>>>> thread, following are the scenarios where role validation is 
>>>>>>>>>>>> required:
>>>>>>>>>>>>
>>>>>>>>>>>>    1. API Design phase -
>>>>>>>>>>>>    - Publisher access control - check whether the role exists
>>>>>>>>>>>>       and the logged-in user has the role
>>>>>>>>>>>>    - Store visibility - check whether the role exists or not
>>>>>>>>>>>>    2. API Manage phase - when adding new scope - check whether
>>>>>>>>>>>>    the role exists or not
>>>>>>>>>>>>
>>>>>>>>>>>> We have decided to add the OAuth2 scope as apim:api_create as
>>>>>>>>>>>> these functionalities are used by API creator.
>>>>>>>>>>>>
>>>>>>>>>>>> As per the offline discussion had with @Malintha Amarasinghe
>>>>>>>>>>>> <malint...@wso2.com>  and @Kasun Thennakoon <kasu...@wso2.com>,
>>>>>>>>>>>> when checking whether the logged-in user has particular role, 
>>>>>>>>>>>> claims in ID
>>>>>>>>>>>> token stored in browser local storage could be used. By 
>>>>>>>>>>>> considering the
>>>>>>>>>>>> possibility of manipulating the ID token in local storage, 
>>>>>>>>>>>> complexity in
>>>>>>>>>>>> handling when using secondary userstore and the security concerns 
>>>>>>>>>>>> in
>>>>>>>>>>>> exposing roles assigned to particular user, we have decided to
>>>>>>>>>>>> introduce another REST API to check whether the logged-in user has 
>>>>>>>>>>>> the
>>>>>>>>>>>> given role as this would be more cleaner.
>>>>>>>>>>>>
>>>>>>>>>>>> Please find the REST API definition as follows:
>>>>>>>>>>>>
>>>>>>>>>>>> ######################################################
>>>>>>>>>>>> # The Role Name Existence
>>>>>>>>>>>> ######################################################
>>>>>>>>>>>>   /roles/{roleName}:
>>>>>>>>>>>> #-----------------------------------------------------
>>>>>>>>>>>> # The role name existence check resource
>>>>>>>>>>>> #-----------------------------------------------------
>>>>>>>>>>>>     head:
>>>>>>>>>>>>       security:
>>>>>>>>>>>>         - OAuth2Security:
>>>>>>>>>>>>             - apim:api_create
>>>>>>>>>>>>       summary:
>>>>>>>>>>>>         Check given role name already exists
>>>>>>>>>>>>       description:
>>>>>>>>>>>>         Using this operation, to check whether given role already 
>>>>>>>>>>>> exists
>>>>>>>>>>>>       parameters:
>>>>>>>>>>>>         - $ref : '#/parameters/roleName'
>>>>>>>>>>>>       responses:
>>>>>>>>>>>>         200:
>>>>>>>>>>>>           description:
>>>>>>>>>>>>             OK.
>>>>>>>>>>>>             Requested role name is returned.
>>>>>>>>>>>>         404:
>>>>>>>>>>>>           description:
>>>>>>>>>>>>             Not Found.
>>>>>>>>>>>>             Requested role name does not exist.
>>>>>>>>>>>>
>>>>>>>>>>>> ######################################################
>>>>>>>>>>>> # The Role Name Existence for the logged-in user
>>>>>>>>>>>> ######################################################
>>>>>>>>>>>>   /me/roles/{roleName}:
>>>>>>>>>>>> #-----------------------------------------------------
>>>>>>>>>>>> # Validate role against a user
>>>>>>>>>>>> #-----------------------------------------------------
>>>>>>>>>>>>     head:
>>>>>>>>>>>>       security:
>>>>>>>>>>>>         - OAuth2Security:
>>>>>>>>>>>>             - apim:api_create
>>>>>>>>>>>>       summary:
>>>>>>>>>>>>         Validate whether the logged-in user has the given role
>>>>>>>>>>>>       description:
>>>>>>>>>>>>         Using this operation, logged-in user can check whether he 
>>>>>>>>>>>> has given role.
>>>>>>>>>>>>       parameters:
>>>>>>>>>>>>         - $ref : '#/parameters/roleName'
>>>>>>>>>>>>       responses:
>>>>>>>>>>>>         200:
>>>>>>>>>>>>           description:
>>>>>>>>>>>>             OK.
>>>>>>>>>>>>             Logged-in user has the role.
>>>>>>>>>>>>         404:
>>>>>>>>>>>>           description:
>>>>>>>>>>>>             Not Found.
>>>>>>>>>>>>             Logged-in user does not have the role.
>>>>>>>>>>>>
>>>>>>>>>>>> Appreciate any feedback on this.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Vithursa
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Aug 15, 2019 at 11:35 AM Naduni Pamudika <
>>>>>>>>>>>> nad...@wso2.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> +Vithursa Mahendrarajah <vithu...@wso2.com>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, Aug 12, 2019 at 5:26 PM Sanjeewa Malalgoda <
>>>>>>>>>>>>> sanje...@wso2.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thu, Aug 8, 2019 at 9:08 PM Malintha Amarasinghe <
>>>>>>>>>>>>>> malint...@wso2.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> When we return a 404, it implies that the URL (or the
>>>>>>>>>>>>>>> resource) does not exist. Here the URL/resource is
>>>>>>>>>>>>>>> */validate-role *(a controller resource) which always
>>>>>>>>>>>>>>> exists so it is wrong to return a 404 at any case.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Yes agree with this and controller resource(as query params
>>>>>>>>>>>>>> optional controller resource will be resource) is not ideal for 
>>>>>>>>>>>>>> this.
>>>>>>>>>>>>>> Using head would be good option. Like nirmal mentioned any
>>>>>>>>>>>>>> additional parameters related to filter criteria can be passed 
>>>>>>>>>>>>>> as query
>>>>>>>>>>>>>> parameters.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> sanjeewa/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thu, Aug 8, 2019 at 7:12 PM Menaka Jayawardena <
>>>>>>>>>>>>>>> men...@wso2.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Naduni,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Wh the GET request always returns 200?
>>>>>>>>>>>>>>>> Can't we set the status code 404 if the role is not found?
>>>>>>>>>>>>>>>> So we can check the response status from the UI. We do not 
>>>>>>>>>>>>>>>> want to read the
>>>>>>>>>>>>>>>> body then.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thu, Aug 8, 2019 at 6:05 PM Naduni Pamudika <
>>>>>>>>>>>>>>>> nad...@wso2.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks all for the suggestions. With the GET method @Bhathiya
>>>>>>>>>>>>>>>>> Jayasekara <bhath...@wso2.com> suggested, we have the
>>>>>>>>>>>>>>>>> following 2 options now.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1. *HEAD /roles/{roleName}*
>>>>>>>>>>>>>>>>> 2. *GET /validate-role?role=rolename*
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> If we go with the option 1, it will simplify the work in
>>>>>>>>>>>>>>>>> the UI side while doing the role validations by using the 
>>>>>>>>>>>>>>>>> Rest API since we
>>>>>>>>>>>>>>>>> can do the validation by looking at the status code (If the 
>>>>>>>>>>>>>>>>> role exists it
>>>>>>>>>>>>>>>>> is a 200 and if not it is a 404). If we go with the option 2, 
>>>>>>>>>>>>>>>>> it will
>>>>>>>>>>>>>>>>> always return a 200 status code and we need to check the 
>>>>>>>>>>>>>>>>> response body to
>>>>>>>>>>>>>>>>> validate a particular role name (We can send
>>>>>>>>>>>>>>>>> *isRoleExist=true* and *isRoleExist=false* in the
>>>>>>>>>>>>>>>>> response body depending on the existence of a role name).
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Since most of us are +1 with the option 2, shall we move
>>>>>>>>>>>>>>>>> forward with the GET method?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>> Naduni
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 7:27 PM Bhathiya Jayasekara <
>>>>>>>>>>>>>>>>> bhath...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 6:24 PM Malintha Amarasinghe <
>>>>>>>>>>>>>>>>>> malint...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 3:39 PM Harsha Kumara <
>>>>>>>>>>>>>>>>>>> hars...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 3:37 PM Malintha Amarasinghe <
>>>>>>>>>>>>>>>>>>>> malint...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 3:35 PM Harsha Kumara <
>>>>>>>>>>>>>>>>>>>>> hars...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Let's say if someone wants to check existence of role
>>>>>>>>>>>>>>>>>>>>>> foo in user store TEST. He will do a call /roke/TEST/foo 
>>>>>>>>>>>>>>>>>>>>>> which isn't valid
>>>>>>>>>>>>>>>>>>>>>> request right?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> @Harsha Kumara <hars...@wso2.com>  we need to URL
>>>>>>>>>>>>>>>>>>>>> encode the role name. The request will become 
>>>>>>>>>>>>>>>>>>>>> /roles/TEST%2Ffoo
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Yes that's true. Again some customers might have
>>>>>>>>>>>>>>>>>>>> different letters in their role names. Might note be a 
>>>>>>>>>>>>>>>>>>>> good idea to include
>>>>>>>>>>>>>>>>>>>> as a path parameter.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Even if we add as a query param, that will go as part of
>>>>>>>>>>>>>>>>>>> the URL which might lead to similar issues? We may need to 
>>>>>>>>>>>>>>>>>>> test this for
>>>>>>>>>>>>>>>>>>> query parameters as well.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I preferred the HEAD method due to the simpleness ( only
>>>>>>>>>>>>>>>>>>> need to respond with 204 or 404 without any payload based 
>>>>>>>>>>>>>>>>>>> on the
>>>>>>>>>>>>>>>>>>> availability of the role) and RESTfulness (consider a role 
>>>>>>>>>>>>>>>>>>> as a resource
>>>>>>>>>>>>>>>>>>> and do a fetch on it in the usual way). HEAD is the usual 
>>>>>>>>>>>>>>>>>>> way for checking
>>>>>>>>>>>>>>>>>>> the existence of a resource. However, we do not have the 
>>>>>>>>>>>>>>>>>>> need for
>>>>>>>>>>>>>>>>>>> implementing a GET here for now.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> This is actually my worry is. I don't think we'll ever
>>>>>>>>>>>>>>>>>> have to give a /roles/{role} in the publisher APIs. So 
>>>>>>>>>>>>>>>>>> having a HEAD
>>>>>>>>>>>>>>>>>> without a GET feels strange to me. Maybe it's just me.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>> Bhathiya
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 3:33 PM Mushthaq Rumy <
>>>>>>>>>>>>>>>>>>>>>> musht...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Adding [Architecture]
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 3:30 PM Mushthaq Rumy <
>>>>>>>>>>>>>>>>>>>>>>> musht...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Since we will be UserStoreManager, this should
>>>>>>>>>>>>>>>>>>>>>>>> cover the secondary user stores as well.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>>>>>>>>>>>>>> Mushthaq
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 3:28 PM Harsha Kumara <
>>>>>>>>>>>>>>>>>>>>>>>> hars...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> What happen if the role is from secondary user
>>>>>>>>>>>>>>>>>>>>>>>>> store?
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Wed, Aug 7, 2019 at 3:24 PM Naduni Pamudika <
>>>>>>>>>>>>>>>>>>>>>>>>> nad...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> We are planning to add a REST API endpoint to
>>>>>>>>>>>>>>>>>>>>>>>>>> APIM 3.0 Publisher Rest APIs and the intention is to 
>>>>>>>>>>>>>>>>>>>>>>>>>> check the existence of
>>>>>>>>>>>>>>>>>>>>>>>>>> a particular role name. This will be used in order 
>>>>>>>>>>>>>>>>>>>>>>>>>> to manage roles when
>>>>>>>>>>>>>>>>>>>>>>>>>> enabling Publisher Access Control and Store 
>>>>>>>>>>>>>>>>>>>>>>>>>> Visibility and when adding
>>>>>>>>>>>>>>>>>>>>>>>>>> Scopes.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> The swagger definition for the new endpoint would
>>>>>>>>>>>>>>>>>>>>>>>>>> be as follows.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> ######################################################
>>>>>>>>>>>>>>>>>>>>>>>>>> # The Role Name Existence
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> ######################################################
>>>>>>>>>>>>>>>>>>>>>>>>>>   /roles/{roleName}:
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> #-----------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>>>>> # The role name existence check resource
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> #-----------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>>>>>     head:
>>>>>>>>>>>>>>>>>>>>>>>>>>       security:
>>>>>>>>>>>>>>>>>>>>>>>>>>         - OAuth2Security:
>>>>>>>>>>>>>>>>>>>>>>>>>>             - apim:api_view
>>>>>>>>>>>>>>>>>>>>>>>>>>       summary: |
>>>>>>>>>>>>>>>>>>>>>>>>>>         Check given role name is already exist
>>>>>>>>>>>>>>>>>>>>>>>>>>       description: |
>>>>>>>>>>>>>>>>>>>>>>>>>>             Using this operation, you can check a
>>>>>>>>>>>>>>>>>>>>>>>>>> given role name is already used. You need to provide 
>>>>>>>>>>>>>>>>>>>>>>>>>> the role name you want
>>>>>>>>>>>>>>>>>>>>>>>>>> to check.
>>>>>>>>>>>>>>>>>>>>>>>>>>       parameters:
>>>>>>>>>>>>>>>>>>>>>>>>>>         - $ref : '#/parameters/roleName'
>>>>>>>>>>>>>>>>>>>>>>>>>>       responses:
>>>>>>>>>>>>>>>>>>>>>>>>>>         200:
>>>>>>>>>>>>>>>>>>>>>>>>>>           description: |
>>>>>>>>>>>>>>>>>>>>>>>>>>             OK.
>>>>>>>>>>>>>>>>>>>>>>>>>>             Requested role name is returned.
>>>>>>>>>>>>>>>>>>>>>>>>>>         404:
>>>>>>>>>>>>>>>>>>>>>>>>>>           description: |
>>>>>>>>>>>>>>>>>>>>>>>>>>             Not Found.
>>>>>>>>>>>>>>>>>>>>>>>>>>             Requested role name does not exist.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> ######################################################
>>>>>>>>>>>>>>>>>>>>>>>>>> # Role Name
>>>>>>>>>>>>>>>>>>>>>>>>>>   roleName:
>>>>>>>>>>>>>>>>>>>>>>>>>>     name: roleName
>>>>>>>>>>>>>>>>>>>>>>>>>>     in: path
>>>>>>>>>>>>>>>>>>>>>>>>>>     description: |
>>>>>>>>>>>>>>>>>>>>>>>>>>       The role name
>>>>>>>>>>>>>>>>>>>>>>>>>>     required: true
>>>>>>>>>>>>>>>>>>>>>>>>>>     type: string
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> It is a HEAD method (*/roles/{roleName}*) which
>>>>>>>>>>>>>>>>>>>>>>>>>> will return a 200 status code if the given role name 
>>>>>>>>>>>>>>>>>>>>>>>>>> exists and a 404
>>>>>>>>>>>>>>>>>>>>>>>>>> status code if the give role name is not found. 
>>>>>>>>>>>>>>>>>>>>>>>>>> Sample requests and
>>>>>>>>>>>>>>>>>>>>>>>>>> responses are given below.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Request:
>>>>>>>>>>>>>>>>>>>>>>>>>> HEAD
>>>>>>>>>>>>>>>>>>>>>>>>>> https://localhost:9443/api/am/publisher/v1.0/roles/valid-role
>>>>>>>>>>>>>>>>>>>>>>>>>> HTTP/1.1
>>>>>>>>>>>>>>>>>>>>>>>>>> Authorization: Bearer
>>>>>>>>>>>>>>>>>>>>>>>>>> ae4eae22-3f65-387b-a171-d37eaa366fa8
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Response:
>>>>>>>>>>>>>>>>>>>>>>>>>> HTTP/1.1 200 OK
>>>>>>>>>>>>>>>>>>>>>>>>>> Connection: keep-alive
>>>>>>>>>>>>>>>>>>>>>>>>>> Content-Length: 0
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Request:
>>>>>>>>>>>>>>>>>>>>>>>>>> HEAD
>>>>>>>>>>>>>>>>>>>>>>>>>> https://localhost:9443/api/am/publisher/v1.0/roles/invalid-role
>>>>>>>>>>>>>>>>>>>>>>>>>> HTTP/1.1
>>>>>>>>>>>>>>>>>>>>>>>>>> Authorization: Bearer
>>>>>>>>>>>>>>>>>>>>>>>>>> ae4eae22-3f65-387b-a171-d37eaa366fa8
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Response:
>>>>>>>>>>>>>>>>>>>>>>>>>> HTTP/1.1 404 Not Found
>>>>>>>>>>>>>>>>>>>>>>>>>> Connection: keep-alive
>>>>>>>>>>>>>>>>>>>>>>>>>> Content-Length: 0
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Are we good to have the endpoint definition as
>>>>>>>>>>>>>>>>>>>>>>>>>> this? Appreciate your inputs to proceed further.
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>>>>>>>> Naduni
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>>>> *Naduni Pamudika* | Senior Software Engineer |
>>>>>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc.
>>>>>>>>>>>>>>>>>>>>>>>>>> (m) +94 (71) 9143658 | (w) +94 (11) 2145345 | (e)
>>>>>>>>>>>>>>>>>>>>>>>>>> nad...@wso2.com
>>>>>>>>>>>>>>>>>>>>>>>>>> [image: http://wso2.com/signature]
>>>>>>>>>>>>>>>>>>>>>>>>>> <http://wso2.com/signature>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> *Harsha Kumara*
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Technical Lead, WSO2 Inc.
>>>>>>>>>>>>>>>>>>>>>>>>> Mobile: +94775505618
>>>>>>>>>>>>>>>>>>>>>>>>> Email: hars...@wso2.coim
>>>>>>>>>>>>>>>>>>>>>>>>> Blog: harshcreationz.blogspot.com
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> GET INTEGRATION AGILE
>>>>>>>>>>>>>>>>>>>>>>>>> Integration Agility for Digitally Driven Business
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>> Mushthaq Rumy
>>>>>>>>>>>>>>>>>>>>>>>> *Senior Software Engineer*
>>>>>>>>>>>>>>>>>>>>>>>> Mobile : +94 (0) 779 492140
>>>>>>>>>>>>>>>>>>>>>>>> Email : musht...@wso2.com
>>>>>>>>>>>>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com/
>>>>>>>>>>>>>>>>>>>>>>>> lean . enterprise . middleware.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> <http://wso2.com/signature>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>> Mushthaq Rumy
>>>>>>>>>>>>>>>>>>>>>>> *Senior Software Engineer*
>>>>>>>>>>>>>>>>>>>>>>> Mobile : +94 (0) 779 492140
>>>>>>>>>>>>>>>>>>>>>>> Email : musht...@wso2.com
>>>>>>>>>>>>>>>>>>>>>>> WSO2, Inc.; http://wso2.com/
>>>>>>>>>>>>>>>>>>>>>>> lean . enterprise . middleware.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> <http://wso2.com/signature>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> *Harsha Kumara*
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Technical Lead, WSO2 Inc.
>>>>>>>>>>>>>>>>>>>>>> Mobile: +94775505618
>>>>>>>>>>>>>>>>>>>>>> Email: hars...@wso2.coim
>>>>>>>>>>>>>>>>>>>>>> Blog: harshcreationz.blogspot.com
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> GET INTEGRATION AGILE
>>>>>>>>>>>>>>>>>>>>>> Integration Agility for Digitally Driven Business
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>> Malintha Amarasinghe
>>>>>>>>>>>>>>>>>>>>> *WSO2, Inc. - lean | enterprise | middleware*
>>>>>>>>>>>>>>>>>>>>> http://wso2.com/
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Mobile : +94 712383306
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> *Harsha Kumara*
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Technical Lead, WSO2 Inc.
>>>>>>>>>>>>>>>>>>>> Mobile: +94775505618
>>>>>>>>>>>>>>>>>>>> Email: hars...@wso2.coim
>>>>>>>>>>>>>>>>>>>> Blog: harshcreationz.blogspot.com
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> GET INTEGRATION AGILE
>>>>>>>>>>>>>>>>>>>> Integration Agility for Digitally Driven Business
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>> Malintha Amarasinghe
>>>>>>>>>>>>>>>>>>> *WSO2, Inc. - lean | enterprise | middleware*
>>>>>>>>>>>>>>>>>>> http://wso2.com/
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Mobile : +94 712383306
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> *Bhathiya Jayasekara* | Technical Lead | WSO2 Inc.
>>>>>>>>>>>>>>>>>> (m) +94 71 547 8185  | (e) bhathiya-@t-wso2-d0t-com
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> *Naduni Pamudika* | Senior Software Engineer | WSO2 Inc.
>>>>>>>>>>>>>>>>> (m) +94 (71) 9143658 | (w) +94 (11) 2145345 | (e)
>>>>>>>>>>>>>>>>> nad...@wso2.com
>>>>>>>>>>>>>>>>> [image: http://wso2.com/signature]
>>>>>>>>>>>>>>>>> <http://wso2.com/signature>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *Menaka Jayawardena*
>>>>>>>>>>>>>>>> Senior Software Engineer | WSO2 Inc.
>>>>>>>>>>>>>>>> +94 71 350 5470 | +94 76 717 2511 | men...@wso2.com
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> <https://wso2.com/signature>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Malintha Amarasinghe
>>>>>>>>>>>>>>> *WSO2, Inc. - lean | enterprise | middleware*
>>>>>>>>>>>>>>> http://wso2.com/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Mobile : +94 712383306
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> *Sanjeewa Malalgoda*
>>>>>>>>>>>>>> Software Architect | Associate Director, Engineering - WSO2
>>>>>>>>>>>>>> Inc.
>>>>>>>>>>>>>> (m) +94 712933253 | (e) sanje...@wso2.com | (b) Blogger
>>>>>>>>>>>>>> <http://sanjeewamalalgoda.blogspot.com>, Medium
>>>>>>>>>>>>>> <https://medium.com/@sanjeewa190>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> GET INTEGRATION AGILE <https://wso2.com/signature>
>>>>>>>>>>>>>> Integration Agility for Digitally Driven Business
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> *Naduni Pamudika* | Senior Software Engineer | WSO2 Inc.
>>>>>>>>>>>>> (m) +94 (71) 9143658 | (w) +94 (11) 2145345 | (e)
>>>>>>>>>>>>> nad...@wso2.com
>>>>>>>>>>>>> [image: http://wso2.com/signature] <http://wso2.com/signature>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Vithursa Mahendrarajah
>>>>>>>>>>>> Software Engineer
>>>>>>>>>>>> WSO2 Inc. - http ://wso2.com
>>>>>>>>>>>> Mobile  : +947*66695643* <+94%2077%20819%201300>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> * <http://wso2.com/signature> <http://wso2.com/signature>
>>>>>>>>>>>> <http://wso2.com/signature>*
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>> *Harsha Kumara*
>>>>>>>>>>>
>>>>>>>>>>> Technical Lead, WSO2 Inc.
>>>>>>>>>>> Mobile: +94775505618
>>>>>>>>>>> Email: hars...@wso2.coim
>>>>>>>>>>> Blog: harshcreationz.blogspot.com
>>>>>>>>>>>
>>>>>>>>>>> GET INTEGRATION AGILE
>>>>>>>>>>> Integration Agility for Digitally Driven Business
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Vithursa Mahendrarajah
>>>>>>>>>> Software Engineer
>>>>>>>>>> WSO2 Inc. - http ://wso2.com
>>>>>>>>>> Mobile  : +947*66695643* <+94%2077%20819%201300>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> * <http://wso2.com/signature> <http://wso2.com/signature>
>>>>>>>>>> <http://wso2.com/signature>*
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Vithursa Mahendrarajah
>>>>>>>>> Software Engineer
>>>>>>>>> WSO2 Inc. - http ://wso2.com
>>>>>>>>> Mobile  : +947*66695643* <+94%2077%20819%201300>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> * <http://wso2.com/signature> <http://wso2.com/signature>
>>>>>>>>> <http://wso2.com/signature>*
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Bhathiya Jayasekara* | Technical Lead | WSO2 Inc.
>>>>>>> (m) +94 71 547 8185  | (e) bhathiya-@t-wso2-d0t-com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> *Harsha Kumara*
>>>>>>
>>>>>> Technical Lead, WSO2 Inc.
>>>>>> Mobile: +94775505618
>>>>>> Email: hars...@wso2.coim
>>>>>> Blog: harshcreationz.blogspot.com
>>>>>>
>>>>>> GET INTEGRATION AGILE
>>>>>> Integration Agility for Digitally Driven Business
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Bhathiya Jayasekara* | Technical Lead | WSO2 Inc.
>>>>> (m) +94 71 547 8185  | (e) bhathiya-@t-wso2-d0t-com
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>>
>>>> *Harsha Kumara*
>>>>
>>>> Technical Lead, WSO2 Inc.
>>>> Mobile: +94775505618
>>>> Email: hars...@wso2.coim
>>>> Blog: harshcreationz.blogspot.com
>>>>
>>>> GET INTEGRATION AGILE
>>>> Integration Agility for Digitally Driven Business
>>>>
>>>
>>>
>>> --
>>> *Bhathiya Jayasekara* | Technical Lead | WSO2 Inc.
>>> (m) +94 71 547 8185  | (e) bhathiya-@t-wso2-d0t-com
>>>
>>>
>>>
>>
>> --
>> *Kasun Thennakoon* | Senior Software Engineer | WSO2 Inc.
>> (m) +94 711661919 | (w) +94 11 214 5345 | (e) kasu...@wso2.com
>> GET INTEGRATION AGILE
>> Integration Agility for Digitally Driven Business
>>
>
>
> --
> Malintha Amarasinghe
> *WSO2, Inc. - lean | enterprise | middleware*
> http://wso2.com/
>
> Mobile : +94 712383306
>


-- 

*Harsha Kumara*

Technical Lead, WSO2 Inc.
Mobile: +94775505618
Email: hars...@wso2.coim
Blog: harshcreationz.blogspot.com

GET INTEGRATION AGILE
Integration Agility for Digitally Driven Business
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to