Hi Janak,

I would opt for option 2.
So that, from the claim management REST API perspective, the api definition
would be same and local dialect will only have a reserved id which is
'local' and an extended schema from other dialects.

Thanks,
Malithi


On Mon, Aug 5, 2019 at 5:22 PM Janak Amarasena <[email protected]> wrote:

> Hi all,
>
> When listing all the claim dialects using the Claim Management REST API
> the local claim dialect is also listed.
>
> [
>     {
>         "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcw",
>         "dialectURI": "http://wso2.org/claims";,
>         "link": {
>             "href": "
> https://localhost:9443/t/carbon.super/api/server/v1/claim-dialects/aHR0cDovL3dzbzIub3JnL2NsYWltcw/claims
> ",
>             "rel": "claims"
>         }
>     },
>     {
>         "id":
> "aHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eQ",
>         "dialectURI": "http://schemas.xmlsoap.org/ws/2005/05/identity";,
>         "link": {
>             "href": "
> https://localhost:9443/t/carbon.super/api/server/v1/claim-dialects/aHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eQ/claims
> ",
>             "rel": "claims"
>         }
>     },
> ...
>
> Using the provided link in *href *it is possible to retrieve the set of
> claims for each dialect except for the *href *for the local claim
> dialect. A separate endpoint is defined in the swagger[1] for getting
> claims from the local dialect as the schema returned is significantly
> different than when calling using another claim dialect.
>
> Response when using the local claim dialect when getting claims;
> [
>     {
>         "id": "aHR0cDovL3dzbzIub3JnL2NsYWltcy9sb2NhbA",
>         "claimURI": "http://wso2.org/claims/local";,
>         "dialectURI": "http://wso2.org/claims";,
>         "description": "Local",
>         "displayOrder": 0,
>         "displayName": "Local",
>         "readOnly": false,
>         "regEx": null,
>         "required": false,
>         "supportedByDefault": false,
>         "attributeMapping": [
>             {
>                 "mappedAttribute": "local",
>                 "userstore": "PRIMARY"
>             }
>         ],
>         "properties": []
>     },
> ...
>
> Response when using any other dialect when getting claims;
> [
>     {
>         "id":
> "dXJuOnNjaW06c2NoZW1hczpjb3JlOjEuMDphZGRyZXNzZXMuZm9ybWF0dGVk",
>         "claimURI": "urn:scim:schemas:core:1.0:addresses.formatted",
>         "claimDialectURI": "urn:scim:schemas:core:1.0",
>         "mappedLocalClaimURI": "http://wso2.org/claims/addresses.formatted
> "
>     },
> ...
>
> Currently, if the *href* shown for the local claim dialect is used to
> retrieve the local claims a bad request response is thrown as retrieving
> local claims has a separate endpoint defined.
>
>
> There are three possible approaches;
>
>    1. Remove the local claim dialect from listing - There can be
>    drawbacks when implementing UIs as the local claim dialect will have to be
>    separately listed.
>    2. Change the *id* and the *href *to match the endpoint defined in the
>    swagger - The schema returned for the local cliam dialect will still be
>    significantly different from other dialects but a developer will see a
>    difference in the *href* and the *id. *The *id* = "local" *href *= "
>    
> https://localhost:9443/t/carbon.super/api/server/v1/claim-dialects/local/claims
>    ".
>    3. Internally wire the endpoint to be directed to the endpoint defined
>    in the swagger to get local claims - At development time the developer will
>    not see a difference and might use the endpoint incorrectly.
>
>
> [1] - https://app.swaggerhub.com/apis/janakamarasena/IS-ADMIN-CLAIMS/1.0.0
>
> Your thoughts are much appreciated in this regards,
>
> Thank you,
> Janak
>
> --
> *Janak Amarasena* | Software Engineer | WSO2 Inc.
> (m) +94777764144 | (w) +94112145345 | (e) [email protected]
>
>
> <https://wso2.com/signature>
>


-- 
*Malithi Edirisinghe* | Technical Lead | WSO2 Inc.
(m) +94 718176807 | (w) +94 11 214 5345 | (e) [email protected]
GET INTEGRATION AGILE
Integration Agility for Digitally Driven Business
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to