Skip to content

Commit 6009b14

Browse files
authored
Revert "feat: enables OIDC auth code flow (#522)"
This reverts commit 42bb217.
1 parent 75b8cf8 commit 6009b14

File tree

7 files changed

+17
-280
lines changed

7 files changed

+17
-280
lines changed

src/main/java/com/google/firebase/auth/OidcProviderConfig.java

Lines changed: 0 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,8 @@
1818

1919
import static com.google.common.base.Preconditions.checkArgument;
2020

21-
import com.google.api.client.json.GenericJson;
2221
import com.google.api.client.util.Key;
2322
import com.google.common.base.Strings;
24-
import java.util.HashMap;
25-
import java.util.Map;
2623

2724
/**
2825
* Contains metadata associated with an OIDC Auth provider.
@@ -34,35 +31,17 @@ public final class OidcProviderConfig extends ProviderConfig {
3431
@Key("clientId")
3532
private String clientId;
3633

37-
@Key("clientSecret")
38-
private String clientSecret;
39-
4034
@Key("issuer")
4135
private String issuer;
4236

43-
@Key("responseType")
44-
private GenericJson responseType;
45-
4637
public String getClientId() {
4738
return clientId;
4839
}
4940

50-
public String getClientSecret() {
51-
return clientSecret;
52-
}
53-
5441
public String getIssuer() {
5542
return issuer;
5643
}
5744

58-
public boolean isCodeResponseType() {
59-
return (responseType.containsKey("code") && (boolean) responseType.get("code"));
60-
}
61-
62-
public boolean isIdTokenResponseType() {
63-
return (responseType.containsKey("idToken") && (boolean) responseType.get("idToken"));
64-
}
65-
6645
/**
6746
* Returns a new {@link UpdateRequest}, which can be used to update the attributes of this
6847
* provider config.
@@ -79,13 +58,6 @@ static void checkOidcProviderId(String providerId) {
7958
"Invalid OIDC provider ID (must be prefixed with 'oidc.'): " + providerId);
8059
}
8160

82-
static Map<String, Boolean> ensureResponseType(Map<String,Object> properties) {
83-
if (properties.get("responseType") == null) {
84-
properties.put("responseType", new HashMap<String, Boolean>());
85-
}
86-
return (Map<String, Boolean>) properties.get("responseType");
87-
}
88-
8961
/**
9062
* A specification class for creating a new OIDC Auth provider.
9163
*
@@ -127,19 +99,6 @@ public CreateRequest setClientId(String clientId) {
12799
return this;
128100
}
129101

130-
/**
131-
* Sets the client secret for the new provider. This is required for the code flow.
132-
*
133-
* @param clientSecret A non-null, non-empty client secret string.
134-
* @throws IllegalArgumentException If the client secret is null or empty.
135-
*/
136-
public CreateRequest setClientSecret(String clientSecret) {
137-
checkArgument(!Strings.isNullOrEmpty(clientSecret),
138-
"Client Secret must not be null or empty.");
139-
properties.put("clientSecret", clientSecret);
140-
return this;
141-
}
142-
143102
/**
144103
* Sets the issuer for the new provider.
145104
*
@@ -154,36 +113,6 @@ public CreateRequest setIssuer(String issuer) {
154113
return this;
155114
}
156115

157-
/**
158-
* Sets whether to enable the code response flow for the new provider. By default, this is not
159-
* enabled if no response type is specified.
160-
*
161-
* <p>A client secret must be set for this response type.
162-
*
163-
* <p>Having both the code and ID token response flows is currently not supported.
164-
*
165-
* @param enabled A boolean signifying whether the code response type is supported.
166-
*/
167-
public CreateRequest setCodeResponseType(boolean enabled) {
168-
Map<String, Boolean> map = ensureResponseType(properties);
169-
map.put("code", enabled);
170-
return this;
171-
}
172-
173-
/**
174-
* Sets whether to enable the ID token response flow for the new provider. By default, this is
175-
* enabled if no response type is specified.
176-
*
177-
* <p>Having both the code and ID token response flows is currently not supported.
178-
*
179-
* @param enabled A boolean signifying whether the ID token response type is supported.
180-
*/
181-
public CreateRequest setIdTokenResponseType(boolean enabled) {
182-
Map<String, Boolean> map = ensureResponseType(properties);
183-
map.put("idToken", enabled);
184-
return this;
185-
}
186-
187116
CreateRequest getThis() {
188117
return this;
189118
}
@@ -227,19 +156,6 @@ public UpdateRequest setClientId(String clientId) {
227156
return this;
228157
}
229158

230-
/**
231-
* Sets the client secret for the new provider. This is required for the code flow.
232-
*
233-
* @param clientSecret A non-null, non-empty client secret string.
234-
* @throws IllegalArgumentException If the client secret is null or empty.
235-
*/
236-
public UpdateRequest setClientSecret(String clientSecret) {
237-
checkArgument(!Strings.isNullOrEmpty(clientSecret),
238-
"Client Secret must not be null or empty.");
239-
properties.put("clientSecret", clientSecret);
240-
return this;
241-
}
242-
243159
/**
244160
* Sets the issuer for the existing provider.
245161
*
@@ -254,36 +170,6 @@ public UpdateRequest setIssuer(String issuer) {
254170
return this;
255171
}
256172

257-
/**
258-
* Sets whether to enable the code response flow for the new provider. By default, this is not
259-
* enabled if no response type is specified.
260-
*
261-
* <p>A client secret must be set for this response type.
262-
*
263-
* <p>Having both the code and ID token response flows is currently not supported.
264-
*
265-
* @param enabled A boolean signifying whether the code response type is supported.
266-
*/
267-
public UpdateRequest setCodeResponseType(boolean enabled) {
268-
Map<String, Boolean> map = ensureResponseType(properties);
269-
map.put("code", enabled);
270-
return this;
271-
}
272-
273-
/**
274-
* Sets whether to enable the ID token response flow for the new provider. By default, this is
275-
* enabled if no response type is specified.
276-
*
277-
* <p>Having both the code and ID token response flows is currently not supported.
278-
*
279-
* @param enabled A boolean signifying whether the ID token response type is supported.
280-
*/
281-
public UpdateRequest setIdTokenResponseType(boolean enabled) {
282-
Map<String, Boolean> map = ensureResponseType(properties);
283-
map.put("idToken", enabled);
284-
return this;
285-
}
286-
287173
UpdateRequest getThis() {
288174
return this;
289175
}

src/test/java/com/google/firebase/auth/FirebaseAuthIT.java

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -792,51 +792,34 @@ public void testOidcProviderConfigLifecycle() throws Exception {
792792
.setDisplayName("DisplayName")
793793
.setEnabled(true)
794794
.setClientId("ClientId")
795-
.setClientSecret("ClientSecret")
796-
.setIssuer("https://oidc.com/issuer")
797-
.setCodeResponseType(true)
798-
.setIdTokenResponseType(false));
799-
795+
.setIssuer("https://oidc.com/issuer"));
800796
assertEquals(providerId, config.getProviderId());
801797
assertEquals("DisplayName", config.getDisplayName());
802798
assertTrue(config.isEnabled());
803799
assertEquals("ClientId", config.getClientId());
804-
assertEquals("ClientSecret", config.getClientSecret());
805800
assertEquals("https://oidc.com/issuer", config.getIssuer());
806-
assertTrue(config.isCodeResponseType());
807-
assertFalse(config.isIdTokenResponseType());
808801

809802
// Get provider config
810803
config = auth.getOidcProviderConfigAsync(providerId).get();
811804
assertEquals(providerId, config.getProviderId());
812805
assertEquals("DisplayName", config.getDisplayName());
813806
assertTrue(config.isEnabled());
814807
assertEquals("ClientId", config.getClientId());
815-
assertEquals("ClientSecret", config.getClientSecret());
816808
assertEquals("https://oidc.com/issuer", config.getIssuer());
817-
assertTrue(config.isCodeResponseType());
818-
assertFalse(config.isIdTokenResponseType());
819809

820810
// Update provider config
821811
OidcProviderConfig.UpdateRequest updateRequest =
822812
new OidcProviderConfig.UpdateRequest(providerId)
823813
.setDisplayName("NewDisplayName")
824814
.setEnabled(false)
825815
.setClientId("NewClientId")
826-
.setClientSecret("NewClientSecret")
827-
.setIssuer("https://oidc.com/new-issuer")
828-
.setCodeResponseType(false)
829-
.setIdTokenResponseType(true);
830-
816+
.setIssuer("https://oidc.com/new-issuer");
831817
config = auth.updateOidcProviderConfigAsync(updateRequest).get();
832818
assertEquals(providerId, config.getProviderId());
833819
assertEquals("NewDisplayName", config.getDisplayName());
834820
assertFalse(config.isEnabled());
835821
assertEquals("NewClientId", config.getClientId());
836-
assertEquals("NewClientSecret", config.getClientSecret());
837822
assertEquals("https://oidc.com/new-issuer", config.getIssuer());
838-
assertTrue(config.isIdTokenResponseType());
839-
assertFalse(config.isCodeResponseType());
840823

841824
// Delete provider config
842825
temporaryProviderConfig.deleteOidcProviderConfig(providerId);

src/test/java/com/google/firebase/auth/FirebaseUserManagerTest.java

Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1615,10 +1615,7 @@ public void testCreateOidcProvider() throws Exception {
16151615
.setDisplayName("DISPLAY_NAME")
16161616
.setEnabled(true)
16171617
.setClientId("CLIENT_ID")
1618-
.setClientSecret("CLIENT_SECRET")
1619-
.setIssuer("https://oidc.com/issuer")
1620-
.setCodeResponseType(true)
1621-
.setIdTokenResponseType(true);
1618+
.setIssuer("https://oidc.com/issuer");
16221619

16231620
OidcProviderConfig config = FirebaseAuth.getInstance().createOidcProviderConfig(createRequest);
16241621

@@ -1629,13 +1626,7 @@ public void testCreateOidcProvider() throws Exception {
16291626
assertEquals("DISPLAY_NAME", parsed.get("displayName"));
16301627
assertTrue((boolean) parsed.get("enabled"));
16311628
assertEquals("CLIENT_ID", parsed.get("clientId"));
1632-
assertEquals("CLIENT_SECRET", parsed.get("clientSecret"));
16331629
assertEquals("https://oidc.com/issuer", parsed.get("issuer"));
1634-
1635-
Map<String, Boolean> responseType = (Map<String, Boolean>) parsed.get("responseType");
1636-
assertTrue(responseType.get("code"));
1637-
assertTrue(responseType.get("idToken"));
1638-
16391630
GenericUrl url = interceptor.getResponse().getRequest().getUrl();
16401631
assertEquals("oidc.provider-id", url.getFirst("oauthIdpConfigId"));
16411632
}
@@ -1649,10 +1640,7 @@ public void testCreateOidcProviderAsync() throws Exception {
16491640
.setDisplayName("DISPLAY_NAME")
16501641
.setEnabled(true)
16511642
.setClientId("CLIENT_ID")
1652-
.setClientSecret("CLIENT_SECRET")
1653-
.setIssuer("https://oidc.com/issuer")
1654-
.setCodeResponseType(true)
1655-
.setIdTokenResponseType(true);
1643+
.setIssuer("https://oidc.com/issuer");
16561644

16571645
OidcProviderConfig config =
16581646
FirebaseAuth.getInstance().createOidcProviderConfigAsync(createRequest).get();
@@ -1664,13 +1652,7 @@ public void testCreateOidcProviderAsync() throws Exception {
16641652
assertEquals("DISPLAY_NAME", parsed.get("displayName"));
16651653
assertTrue((boolean) parsed.get("enabled"));
16661654
assertEquals("CLIENT_ID", parsed.get("clientId"));
1667-
assertEquals("CLIENT_SECRET", parsed.get("clientSecret"));
16681655
assertEquals("https://oidc.com/issuer", parsed.get("issuer"));
1669-
1670-
Map<String, Boolean> responseType = (Map<String, Boolean>) parsed.get("responseType");
1671-
assertTrue(responseType.get("code"));
1672-
assertTrue(responseType.get("idToken"));
1673-
16741656
GenericUrl url = interceptor.getResponse().getRequest().getUrl();
16751657
assertEquals("oidc.provider-id", url.getFirst("oauthIdpConfigId"));
16761658
}
@@ -1873,10 +1855,7 @@ public void testTenantAwareUpdateOidcProvider() throws Exception {
18731855
.setDisplayName("DISPLAY_NAME")
18741856
.setEnabled(true)
18751857
.setClientId("CLIENT_ID")
1876-
.setClientSecret("CLIENT_SECRET")
1877-
.setIssuer("https://oidc.com/issuer")
1878-
.setCodeResponseType(true)
1879-
.setIdTokenResponseType(true);
1858+
.setIssuer("https://oidc.com/issuer");
18801859

18811860
OidcProviderConfig config = tenantAwareAuth.updateOidcProviderConfig(request);
18821861

@@ -1885,18 +1864,12 @@ public void testTenantAwareUpdateOidcProvider() throws Exception {
18851864
String expectedUrl = TENANTS_BASE_URL + "/TENANT_ID/oauthIdpConfigs/oidc.provider-id";
18861865
checkUrl(interceptor, "PATCH", expectedUrl);
18871866
GenericUrl url = interceptor.getResponse().getRequest().getUrl();
1888-
assertEquals("clientId,clientSecret,displayName,enabled,issuer,responseType.code,"
1889-
+ "responseType.idToken", url.getFirst("updateMask"));
1867+
assertEquals("clientId,displayName,enabled,issuer", url.getFirst("updateMask"));
18901868
GenericJson parsed = parseRequestContent(interceptor);
18911869
assertEquals("DISPLAY_NAME", parsed.get("displayName"));
18921870
assertTrue((boolean) parsed.get("enabled"));
18931871
assertEquals("CLIENT_ID", parsed.get("clientId"));
1894-
assertEquals("CLIENT_SECRET", parsed.get("clientSecret"));
18951872
assertEquals("https://oidc.com/issuer", parsed.get("issuer"));
1896-
1897-
Map<String, Boolean> responseType = (Map<String, Boolean>) parsed.get("responseType");
1898-
assertTrue(responseType.get("code"));
1899-
assertTrue(responseType.get("idToken"));
19001873
}
19011874

19021875
@Test
@@ -2975,10 +2948,7 @@ private static void checkOidcProviderConfig(OidcProviderConfig config, String pr
29752948
assertEquals("DISPLAY_NAME", config.getDisplayName());
29762949
assertTrue(config.isEnabled());
29772950
assertEquals("CLIENT_ID", config.getClientId());
2978-
assertEquals("CLIENT_SECRET", config.getClientSecret());
29792951
assertEquals("https://oidc.com/issuer", config.getIssuer());
2980-
assertTrue(config.isCodeResponseType());
2981-
assertFalse(config.isIdTokenResponseType());
29822952
}
29832953

29842954
private static void checkSamlProviderConfig(SamlProviderConfig config, String providerId) {
@@ -3010,4 +2980,5 @@ private static void checkUrl(TestResponseInterceptor interceptor, String method,
30102980
private interface UserManagerOp {
30112981
void call(FirebaseAuth auth) throws Exception;
30122982
}
2983+
30132984
}

0 commit comments

Comments
 (0)