-
-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enforce use of scopes? #14
Comments
I personally would like the scopes to be enforced. A way of mitigating the developer actions would be to always have a "basic" scope defined in fosite (enforced) and delegate the use and creation of other scopes via a scope handler to the developer. As long as the client data and resource owner data is exposed internally in the hander, the developer can choose what information to return based on the scopes defined. There are very few companies that doesn't enforce at least a basic scope by default when using OAuth2. |
Sounds like a good idea! I think "basic" or "core" should be good basic scope names but I will make this configurable. |
While I would also prefer scope enforcement, there are some issues with
On Sun, Jan 10, 2016 at 1:12 PM, Aeneas notifications@github.com wrote:
|
Thanks for your thoughts, the issues you mention are very valid. As you mentioned I too think that scopes should not be too specific or granular. It might make sense registering scopes by theirendpoint urls like Google is doing it. I am not sure if I understood the micro services part corretly however. Usually, the micro services act as resource providers which themselves do not require client credentials. Resource providers need simply a method to validate a token. This method could however be an RESTful enpoint requiring valid client credentials but it is not specified to my knowledge. This endpoint is something that is currently drafted at Hydra (would love feedback on that, too!) To reduce scopes, a resource server could implement the following flow:
What do you think? Regarding ID federation (commonly known as connectors or remote identity providers): This will be possible because developers can define their own authorize and token endpoint behaviour by implementing these interfaces Let me know if I misunderstood something, I will give the springer link a read in a few |
Regarding the microservice, I think it may be an option to restrict a On Sun, Jan 10, 2016 at 6:37 PM, Aeneas notifications@github.com wrote:
|
Feel free to keep posting, I marked it close because it is now implemented in Fosite. That doesn't imply that further discussion is not welcomed though! |
fix: user code error handling
* fix: fix the refresh token issue * fix: fix the OIDC token missing issue
Scopes are something that is thrown a little bit under the table in most OAuth2 tutorials but scopes are a very important part of OAuth2, as OAuth2 is a delegation protocol for a limited scope. Issuing tokens that are allowed to do anything by default ist bad practice.
Forcing developers to define and use scopes countermeasures that but it is also another thing one has to think about when using this library.
What do you prefer? Making it easy to use scopes or enforcing to use scopes?
The text was updated successfully, but these errors were encountered: