Skip to content
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

Update scopes to support non-breaking addition of features #71

Closed
mike-marcacci opened this issue Jan 1, 2020 · 2 comments
Closed

Update scopes to support non-breaking addition of features #71

mike-marcacci opened this issue Jan 1, 2020 · 2 comments

Comments

@mike-marcacci
Copy link
Member

Prefixing the context domain with a version gives us a mechanism to transition between breaking scope changes. However, this requires migration of all client requests. Ideally, we would have a mechanism to introduce new features (and thus new scope segments) while only requiring migration from within AuthX.

Consider adding .** to the end of the "context" and "action" domains so that future additions of segments is non-breaking.

Process for introducing new scope segments:

  1. Add the new segment in the codebase, with the new feature behind a flag.
  2. Deploy the code changes, with the new feature disabled.
  3. Add the new segment to relevant matching scopes in client OAuth requests. (optional)
  4. Add the new segment to all matching scopes and scope templates in roles.
  5. Add the new segment to all matching scopes in grants.
  6. Enable the new feature.
@mike-marcacci
Copy link
Member Author

I am less enthusiastic about this idea these days, at least for AuthX own scopes... I'll keep this open for discussion, but am leaning towards continuing with our existing conventions for v3 scopes.

@mike-marcacci
Copy link
Member Author

I'm going to close this, as the current conventions do seem adequate at the moment. The next version will likely take the form described here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant