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

ProjectPasskeys: Replace requestedParties with rpId, and origins #9248

Open
Tracked by #9111
maduvena opened this issue Aug 22, 2024 · 3 comments
Open
Tracked by #9111

ProjectPasskeys: Replace requestedParties with rpId, and origins #9248

maduvena opened this issue Aug 22, 2024 · 3 comments
Assignees
Milestone

Comments

@maduvena
Copy link
Contributor

maduvena commented Aug 22, 2024

RP.ID is set one time, and can not be changed. It must be carefully considered, and is integral part of the access control for the authenticat

For jans, this is how we should be doing it:

RP.ID must always be set
RP.ID must be set separately from ORIGINS
RP.ID must be just the HOST part, or FQDN
RP.ID need to have a clear documentation
Origins are a list of origins (protocol + host + port), that must specified by the user separately

TODOs:

  1. Replace requestedParties with rpId, and origin
  2. Check ClientDataJson (contain origin)
    if origin returned in ClientDataJson is in the list of allowed origins, then pass
    Your origins can be, https://bank.com/ https://auth.bank.com/ https://internal.bank.com/

Origins can be a set, and can change

@maduvena maduvena changed the title Replace requestedParties with rpId, and origins ProjectPasskeys: Replace requestedParties with rpId, and origins Aug 22, 2024
@shekhar16 shekhar16 self-assigned this Sep 2, 2024
@shekhar16
Copy link
Contributor

code has been committed as part of #9111.
Closing this ticket.

@moabu moabu added this to the 1.1.5 milestone Sep 16, 2024
@maduvena maduvena reopened this Sep 18, 2024
@maduvena
Copy link
Contributor Author

TODOs:

  • Write a test case
  • Check a complete flow, Shekhar has done only the backend handling

References : 1. https://passkeys.dev/docs/advanced/related-origins/
2. Notes from Mike - https://developer.chrome.com/blog/passkeys-updates-chrome-129?hl=en

@imran-ishaq imran-ishaq self-assigned this Sep 19, 2024
maduvena added a commit that referenced this issue Sep 25, 2024
…o RpId

Signed-off-by: Madhumita <madhu@gluu.org>
maduvena added a commit that referenced this issue Sep 25, 2024
@moabu moabu modified the milestones: 1.1.5, 1.1.6 Oct 8, 2024
imran-ishaq added a commit that referenced this issue Oct 29, 2024
…ript for attestation and assertion API calls #9248

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
imran-ishaq added a commit that referenced this issue Oct 29, 2024
Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
imran-ishaq added a commit that referenced this issue Oct 30, 2024
Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
imran-ishaq added a commit that referenced this issue Oct 30, 2024
…tion and assertion API calls #9248 (#9974)

* feat(jans-fido2): add origin parameter in Fido2ExternalAuthenticator script for attestation and assertion API calls

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

* refactor(docs): add origin parameter in Fido2ExternalAuthenticator script for attestation and assertion API calls #9248

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

* fix(jans-fido2): handle origin if http or https is missing #9248

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

---------

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
imran-ishaq added a commit that referenced this issue Nov 1, 2024
Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
@maduvena
Copy link
Contributor Author

maduvena commented Nov 5, 2024

New notes:

RP ID is a domain string only, and does not mention a scheme or port number as an origin does. The RP ID of a PublicKeyCredential sets it scope, i.e. it determines the origins on which it may be exercised as follows:

The RP ID must be equal to the origin's effective domain, or a registrable suffix of the origin's effective domain.

The origin's scheme must be 'https'.

The origin's port number is unrestricted.

This is done in order ...
Image

moabu pushed a commit that referenced this issue Nov 7, 2024
…o RpId

Signed-off-by: Madhumita <madhu@gluu.org>
moabu pushed a commit that referenced this issue Nov 7, 2024
moabu pushed a commit that referenced this issue Nov 7, 2024
…tion and assertion API calls #9248 (#9974)

* feat(jans-fido2): add origin parameter in Fido2ExternalAuthenticator script for attestation and assertion API calls

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

* refactor(docs): add origin parameter in Fido2ExternalAuthenticator script for attestation and assertion API calls #9248

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

* fix(jans-fido2): handle origin if http or https is missing #9248

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>

---------

Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
moabu pushed a commit that referenced this issue Nov 7, 2024
Signed-off-by: imran-ishaq <imranishaq024@gmail.com>
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

No branches or pull requests

4 participants