SATOSA icon indicating copy to clipboard operation
SATOSA copied to clipboard

Add an EntraID OIDC backend based on the included OpenIDConnectBackend

Open ceko opened this issue 1 year ago • 3 comments

EntraID OIDC Backend

We have a need to use EntraID as an authentication backend, but EntraID does not closely follow the OpenID spec and can't be integrated with the current backends. In particular, the issuer used in discovery does not always match the issuer returned in other parts of the login flow.

I built a backend using the OpenIDConnectBackend as a model and integrated with the msal library. I also wrote several tests using the same backend's tests as a model for coverage.

Please let me know if this is something you'd like to include in the base product, if not I'll continue using it as a module in my SATOSA instance.

All Submissions:

  • [x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • [x] Have you added an explanation of what problem you are trying to solve with this PR?
  • [x] Have you added information on what your changes do and why you chose this as your solution?
  • [x] Have you written new tests for your changes?
  • [x] Does your submission pass tests?
  • [x] This project follows PEP8 style guide. Have you run your code against the 'flake8' linter?

ceko avatar Apr 08 '24 15:04 ceko