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
