sdk-generator icon indicating copy to clipboard operation
sdk-generator copied to clipboard

[All SDKs] OAuth token endpoint should be configurable and/or support oidc discovery

Open le-yams opened this issue 1 year ago • 3 comments

Description

For clients using OAuth2 credentials, the token endpoint is currently hardcoded in all SDKs (with /oauth/token value). Could it be possible to make it configurable? Or even better support oidc discovery?

I'm willing to contribute if that's something you would be interested in :)

Steps to take

Change the apiTokenIssuer field in the configuration to accept a full URL. So:

ApiTokenIssuer Endpoint SDK will hit
issuer.fga.example https://issuer.fga.example/oauth/token
https://issuer.fga.example https://issuer.fga.example/oauth/token
https://issuer.fga.example:8080 https://issuer.fga.example:8080/oauth/token
issuer.fga.example/some_endpoint https://issuer.fga.example/some_endpoint
https://issuer.fga.example/some_endpoint https://issuer.fga.example/some_endpoint
https://issuer.fga.example:8080/some_endpoint https://issuer.fga.example:8080/some_endpoint

Of course, we'll need to do some of the validations to ensure e.g. users are passing fields with https or http (and not e.g. ftp) and that the full url is valid

Related Issues

  • .NET SDK issue: https://github.com/openfga/dotnet-sdk/issues/30
  • (duplicate) https://github.com/openfga/sdk-generator/issues/197

SDKs to be updated

  • [ ] JS SDK (https://github.com/openfga/js-sdk/pull/139) by @marcoquotech
  • [x] Go SDK (https://github.com/openfga/sdk-generator/pull/275)
  • [ ] .NET SDK
  • [ ] Python SDK https://github.com/openfga/python-sdk/issues/136
  • [x] Java SDK (https://github.com/openfga/sdk-generator/pull/240)

le-yams avatar Nov 28 '23 15:11 le-yams