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

OpenID authentication with external ID Provider #175

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

Gaetanbrl
Copy link

@Gaetanbrl Gaetanbrl commented Feb 3, 2025

Description

This pull request match with georchestra/improvement-proposals#9

This contribution enables you to connect with an identity provider as ProConnect (see proposal details).

⚠️ This PR requires that the contribution be accepted (contains ldap / commons required changes) :
georchestra/georchestra#4382
Without this prerequisite, this PR's GitHub Actions can't build properly.

Contains

@f-necas f-necas requested a review from pmauduit February 4, 2025 11:33
@Gaetanbrl
Copy link
Author

Gaetanbrl commented Feb 10, 2025

Further to a discussion with @pmauduit @f-necas @cmangeat :

  1. Use moderatedSignup config from datadir to set default pending status

...Will be moved to a dedicated pull request

  1. configuration (YAML) to map expected orgUniqueId, email, family_name, fiven_name, organization, id fields with provider's claims

This config will be in georchestra.gateway.security.oidc.claims.

A sub georchestra.gateway.security.oidc.claims.provider.<provider_name> section will allow you to specify custom claims mapping by supplier :

georchestra:
  gateway:
    security:
      oidc:
        claims:
          id.path:
            - "$.iduser"
            - "$.sub"
          provider:
            <provider_name>:
               id.path: ""
  1. About test

It's currently hard to test locally or create automate testing due to many queries with the service provider.

It appear as easier to test this PR in pre production environment (needs client_secret, client_id according to proconnect process / form).

@Gaetanbrl
Copy link
Author

Gaetanbrl commented Feb 13, 2025

Need a (nightmare) rebase / merge again after last main changes...

#179

@Gaetanbrl
Copy link
Author

@groldan do you have any other changes planned for the gateway? If so, I'll wait before rebasing again.

@groldan
Copy link
Member

groldan commented Feb 13, 2025

@Gaetanbrl mothing big, just rewriting it in rust. Sorry for causing you merge conflicts, it's the nature of the beast though

Gaetanbrl and others added 5 commits February 14, 2025 09:41
custom tag Docker image

use more class and provider class from name

new ProConnect provider button

First way to use proconnect - need clean up
map ProConnect claims

Create user, org, or switch org

Clean files

clean files
Allow to override default claims config

Use  provider config to map claim

Get claims mapping from georchestra config

Simplify, User provider config out of claims

Fix style

Complete doc about provider general and specific config

Fix test null error

Fix some nativ test cases
@Gaetanbrl Gaetanbrl changed the title [WIP/DRAFT] - OpenID authentication with external ID Provider OpenID authentication with external ID Provider Feb 17, 2025
@Gaetanbrl
Copy link
Author

Hi,
PR ready for a first review.

From my understanding, Github Actions failed due to depandancies.
Indeed, this PR needs georchestra/georchestra#4382 .

Thanks.

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