You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/specs/organization/10-use-case.md
+47-3Lines changed: 47 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -388,6 +388,10 @@ It implies that updating the email address or removing the email address may not
388
388
> [!NOTE]
389
389
> In Stytch B2B Authentication, it is forbidden to add, remove, or update own email address.
390
390
391
+
> [!NOTE]
392
+
> In Kinde, Users with Enterprise Identities cannot have other identities.
393
+
> See https://docs.kinde.com/authenticate/enterprise-connections/about-enterprise-connections/#how-identities-are-handled-in-enterprise-connections
394
+
391
395
When a User is a Member of an Organization,
392
396
the User is not allowed to add, remove, or update the following Identities:
393
397
@@ -404,7 +408,7 @@ The following Identities can still be added and removed:
404
408
405
409
#### Use case 6.1.1: Organization with Federated Login
406
410
407
-
Federated Login in this context means the end-user **MUST** sign in a particular Identity associated with the external Identity Provider.
411
+
Refer to Use case 11 to learn what Federated Login is.
408
412
409
413
- The end-user is not expected to add Identities. Federated Login means the end-user must sign in via the external Identity Provider. Adding Identities (and thus adding more login methods) are not useful at all.
410
414
- The end-user is not expected to update Identities. As long as the subject ID stays the same, Standard Attributes `email`, `phone_number` and `preferred_username` are updated automatically on login. The end-user need not update them manually.
@@ -864,9 +868,49 @@ The use case is an essential building block of Organization, so it must be imple
864
868
865
869
## Use case 11: Federated Login
866
870
867
-
TODO
871
+
> [!WARNING]
872
+
> The term "Federated Login" is not a common term for this feature.
873
+
> For example, if you search `competitor name` + "Federated Login",
874
+
> you will likely find unrelated results.
875
+
>
876
+
> It seems like we are misusing a very common term for a specific feature.
877
+
878
+
According to Fung's proposal, "Federated Login" is about:
879
+
880
+
- Configure an Organization-specific OAuth Provider. This is covered in Use case 10 already.
881
+
- If the Organization has one and only one applicable Identity Provider (OAuth or SAML), the end-user is redirected to it without seeing the Auth UI. This is just a QoL improvement of the Auth UI, and can be implemented independently of Organizations.
882
+
883
+
> [!NOTE]
884
+
> Auth0 does not support this feature out-of-the-box.
885
+
> The best you can do is to provide the `connection` parameter in the authorization endpoint.
886
+
> See https://auth0.com/docs/api/authentication/login/enterprise-saml-and-others#remarks
887
+
> That does not always work because you need to know in advance what Organization the end-user is going to sign in to.
888
+
889
+
### Use case 11.1: Federated Login in OIDC
890
+
891
+
We already support a proprietary authorization endpoint parameter named `x_provider_alias`.
892
+
If it is provided, then Auth UI will be skipped, the end-user will be redirected to that OAuth Provider directly.
893
+
894
+
We can support Federated Login in OIDC like this:
895
+
896
+
- When the Organization has specific configuration, and it has only one OAuth Provider, the default value of `x_provider_alias` is the alias of that OAuth Provider.
897
+
- If `x_provider_alias` is specified in the authentication request, it is respected.
898
+
899
+
So if the developer does not want the end-user to see the Auth UI,
900
+
they configure one and only one Organization-specific OAuth Provider.
901
+
902
+
This also means Federated Login is **implicit**.
903
+
By configuring one and only one Organization-specific OAuth Provider, Federated Login is enabled for the Organization.
904
+
905
+
### Use case 11.2: Federated Login in SAML
906
+
907
+
Since this is a feature of Auth UI, no special support is needed.
908
+
909
+
We may need to consider support `x_provider_alias` in the SAML Login URL.
910
+
911
+
### Use case 11: Design Decision
868
912
869
-
This feature is query parameter `x_provider_alias` implicitly provided for a particular Organization.
0 commit comments