@@ -320,26 +320,6 @@ Typical ``well_known_uri`` values:
320320- Microsoft Entra ID: ``https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration ``
321321- ORCID: ``https://orcid.org/.well-known/openid-configuration ``
322322
323- Example configuration (Microsoft Entra ID)::
324-
325- authentication:
326- providers:
327- - provider: entra
328- authenticator: bluesky_httpserver.authenticators:OIDCAuthenticator
329- args:
330- audience: 00000000-0000-0000-0000-000000000000
331- client_id: 00000000-0000-0000-0000-000000000000
332- client_secret: ${BSKY_ENTRA_SECRET}
333- well_known_uri: https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration
334- confirmation_message: "You have logged in successfully."
335- api_access:
336- policy: bluesky_httpserver.authorization:DictionaryAPIAccessControl
337- args:
338- users:
339- <login-name>:
340- roles:
341- - admin
342- - expert
343323
344324Example configuration (Google)::
345325
@@ -352,12 +332,6 @@ Example configuration (Google)::
352332 client_id: <google-client-id>
353333 client_secret: ${BSKY_GOOGLE_SECRET}
354334 well_known_uri: https://accounts.google.com/.well-known/openid-configuration
355- api_access:
356- policy: bluesky_httpserver.authorization:DictionaryAPIAccessControl
357- args:
358- users:
359- <login-name>:
360- roles: user
361335
362336.. note ::
363337
@@ -373,6 +347,39 @@ See the documentation on ``OIDCAuthenticator`` for parameter details.
373347
374348 authenticators.OIDCAuthenticator
375349
350+ ENTRA Authenticator
351+ ++++++++++++++++++
352+
353+ ``EntraAuthenticator `` inherits from the ``ProxiedOIDCAuthenticator `` and provides
354+ additional ENTRA/MS specific ways to determine the actual username, while still
355+ using the OIDC workflow. It will by default attempt to extract a human-readable
356+ username from the claims in the OIDC token. Alternatively a graph parameter
357+ can be specified, at which point after ENTRA returns a valid login and identity
358+ a GraphAPI call is made to request the provided parameter, which is then used
359+ in place of any claim as the username. This later method is the method recommended
360+ by MS.
361+
362+
363+ Example configuration (Microsoft Entra ID)::
364+
365+ authentication:
366+ providers:
367+ - provider: entra
368+ authenticator: bluesky_httpserver.authenticators:OIDCAuthenticator
369+ args:
370+ audience: 00000000-0000-0000-0000-000000000000
371+ client_id: 00000000-0000-0000-0000-000000000000
372+ client_secret: ${BSKY_ENTRA_SECRET}
373+ well_known_uri: https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration
374+ confirmation_message: "You have logged in successfully."
375+ extra_scopes: 'User.Read'
376+ graph_username_attribute: "some_graph_param"
377+
378+ .. autosummary ::
379+ :nosignatures:
380+ :toctree: generated
381+
382+ authenticators.EntraAuthenticator
376383
377384Expiration Time for Tokens and Sessions
378385+++++++++++++++++++++++++++++++++++++++
0 commit comments