[FedCM] Make nonce an optional field in FederatedIdentityProvider
nonce should not be required in FederatedIdentityProvider. If RP does
not specify a nonce, IDP may create one instead.
Bug: 1275311
Change-Id: Ic6cf70c5662e735444009181ad19a0b94040c17b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3308919
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Yi Gu <yigu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#947074}
diff --git a/credential-management/fedcm.https.html b/credential-management/fedcm.https.html
index 6933e58..4b10b17 100644
--- a/credential-management/fedcm.https.html
+++ b/credential-management/fedcm.https.html
@@ -77,8 +77,9 @@
return promise_rejects_dom(t, "InvalidStateError", result);
}, "Reject when clientId is empty");
- promise_test(async t => {
- const result = navigator.credentials.get({
+ fedcm_test(async (t, mock) => {
+ mock.returnIdToken("a_token");
+ const token = await navigator.credentials.get({
federated: {
providers: [{
url: 'https://idp.test',
@@ -86,21 +87,9 @@
}]
}
});
- return promise_rejects_js(t, TypeError, result);
- }, "Reject when nonce is missing" );
- promise_test(async t => {
- const result = navigator.credentials.get({
- federated: {
- providers: [{
- url: 'https://idp.test',
- clientId: '1',
- nonce: '',
- }]
- }
- });
- return promise_rejects_dom(t, "InvalidStateError", result);
- }, "Reject when nonce is empty");
+ assert_equals(token, "a_token");
+ }, "nonce is not required in FederatedIdentityProvider.");
promise_test(function(t) {
// Logout API not supported yet.