Skip to content

Discuss and specify requirements for enabling Interoperable Authorization Code Flow with Network and Non-Network based Authentication Methods in Camara #245

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

Open
shilpa-padgaonkar opened this issue Jan 16, 2025 · 3 comments · May be fixed by #244
Labels
enhancement New feature or request

Comments

@shilpa-padgaonkar
Copy link
Collaborator

shilpa-padgaonkar commented Jan 16, 2025

Problem description
We would like to discuss and detail out what needs to be specified to ensure that Camara can use Auth code flow with Network and Non-Network based Authentication methods.

Possible evolution
Specify the agreed details in the ICM documents

Alternative solution

Additional context
Reference issue 215

CAMARA does not intend to limit the Authorization Code Flow to just network-based authentication.
In this issue we would like to discuss the necessary changes that will ensure the Authorization Code Flow can be interoperably used with both network-based and non-network-based authentication methods

@shilpa-padgaonkar shilpa-padgaonkar added the enhancement New feature or request label Jan 16, 2025
@shilpa-padgaonkar shilpa-padgaonkar changed the title Discuss and specify requirements for enabling Interoperable Authorization Code Flow with Network and Non-Network Authentication Methods in Camara Discuss and specify requirements for enabling Interoperable Authorization Code Flow with Network and Non-Network based Authentication Methods in Camara Jan 18, 2025
@jpengar
Copy link
Collaborator

jpengar commented Jan 20, 2025

Instead of talking about network-based auth and non-network-based auth methods in general, shouldn't we discuss each new auth method to be supported by CAMARA (and its implications) individually? And consider network-based auth as the default method for backwards compatibility with previous meta-releases.

@AxelNennker
Copy link
Collaborator

AxelNennker commented Jan 24, 2025

I would like to start the discussion by proposing changes that allow API consumers to interoperable ask for network-based authentication if they need it.
I took a stab at these needed changes in Allow API to decide on network-based authentication in OIDC authorization code flow

That would also allow APIs to make that mandatory.

@jpengar
Copy link
Collaborator

jpengar commented Feb 4, 2025

This issue was first discussed at the last WG call (https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/69435394/2025-01-29+ICM+Draft+Agenda+Minutes). I will add the meeting notes here for the record.

Issue: Discuss and specify requirements for enabling Interoperable Authorization Code Flow with Network and Non-Network based Authentication Methods in Camara

Background

  • The discussion originated from Issue #215, which aimed to clarify authentication methods in the Authorization Code Flow.
  • The outcome of Issue Authentication method in authorization code flow #215 confirmed that CAMARA currently only considers network-based authentication for issuing access tokens, but there was agreement that CAMARA does not intend to restrict the flow to network authentication exclusively.
  • As a result, Issue #245 and PR #244 were created to explore new authentication methods while ensuring interoperability.

...

Proposal for Supporting Non-Network-Based Authentication

  • A new issue was created to discuss how to introduce additional authentication methods while maintaining interoperability.
  • An initial proposal from Axel Nennker suggests modifying the profile to support non-network-based authentication methods. Currently, CAMARA's Authorization Code Flow assumes network-based authentication. The proposal suggests that API consumers should explicitly request network-based authentication via an acr value. If no acr is provided, the flow would follow OpenID standards, which do not mandate a specific authentication method.

Concerns on Backward Compatibility

  • Jesús expressed concerns that this proposal would break backward compatibility. Under the current implementation, if no acr value is provided, the default behavior is to use network-based authentication. The proposed change would alter this, leading to potential integration issues.
  • Jesús suggested:
    • Maintain backward compatibility by keeping Network-Based Authentication as the default behavior, with acr_values providing optional flexibility.
    • Standardize acr_values for each supported authentication method, ensuring granularity and clear expectations for both UX and security.
    • Define error scenarios for unsupported acr_values and standardize their handling to avoid inconsistencies across operators.
    • Ensure token-device/phone number association is preserved for all supported authentication methods.
  • The group needs to further analyze whether this approach is the best way to introduce non-network-based authentication while preserving compatibility with existing integrations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
3 participants