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

httpsig and short-lived bearer tokens as alternative to sharedSecret #98

Merged
merged 8 commits into from
Sep 3, 2024

Conversation

michielbdejong
Copy link
Contributor

This would allow for some more modern security best practices like pre-registering clients and making the access token short-lived and client-bound

This would allow for some more modern security best practices like pre-registering clients and making the access token short-lived and client-bound
@michielbdejong michielbdejong marked this pull request as draft August 27, 2024 07:19
@michielbdejong
Copy link
Contributor Author

I think we should use a GNAP grant request instead. Will update.

GNAP is more appropriate here because it makes way less assumptions about the interaction (in particular it doesn't assume the use of browser redirects)
@michielbdejong michielbdejong changed the title OAuth code as alternative to sharedSecret nonce and gnapAuthorizationServer as alternative to sharedSecret Aug 27, 2024
@michielbdejong michielbdejong marked this pull request as ready for review August 27, 2024 07:27
@michielbdejong michielbdejong mentioned this pull request Aug 27, 2024
@glpatcern glpatcern self-requested a review August 27, 2024 12:26
Copy link
Member

@glpatcern glpatcern left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. Looking forward to see how this section about the access procedure can be made more "standardized" compared to the current free-form text!

@michielbdejong
Copy link
Contributor Author

We can reuse the format of the WWW-Authenticate header defined for GNAP in section 9.1 of https://datatracker.ietf.org/doc/draft-ietf-gnap-core-protocol/

so then it would be as_uri instead of gnapAuthorizationServer. I'll work on this some more.

@michielbdejong michielbdejong marked this pull request as draft August 27, 2024 14:53
@glpatcern glpatcern self-requested a review August 30, 2024 06:12
@michielbdejong michielbdejong changed the title nonce and gnapAuthorizationServer as alternative to sharedSecret httpsig and short-lived bearer tokens as alternative to sharedSecret Sep 3, 2024
@michielbdejong michielbdejong marked this pull request as ready for review September 3, 2024 08:55
@michielbdejong
Copy link
Contributor Author

See cs3org/ocm-test-suite#88 (comment) for a demo of how this would work

README.md Outdated Show resolved Hide resolved
@michielbdejong michielbdejong merged commit 6a15d07 into develop Sep 3, 2024
@glpatcern
Copy link
Member

glpatcern commented Sep 3, 2024

Nice to see you already have your ocm-stub doing this. Would you add protocol.webdav.code in the spec.yaml as another optional parameter?

michielbdejong added a commit that referenced this pull request Sep 4, 2024
…98)

* OAuth code as alternative to sharedSecret

This would allow for some more modern security best practices like pre-registering clients and making the access token short-lived and client-bound

* whitespace

* typo

* GNAP instead of OAuth 2.0 Authorization Code flow

GNAP is more appropriate here because it makes way less assumptions about the interaction (in particular it doesn't assume the use of browser redirects)

* camel case

* simplify from GNAP to httpsig+bearer

* clarify language

* `<OCM endpoint>/token`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants