Skip to content

Commit

Permalink
[FedCM] Make sure disclosure_text_shown is correct with the scopes API
Browse files Browse the repository at this point in the history
Bug: 338574387
Change-Id: Ic675cfa848688d0d0f0ed14792ee22735a29adf0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5526980
Reviewed-by: Yi Gu <yigu@chromium.org>
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1298645}
  • Loading branch information
cbiesinger authored and chromium-wpt-export-bot committed May 9, 2024
1 parent 71346ae commit 84b308d
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!DOCTYPE html>
<title>Federated Credential Management API network request tests.</title>
<link rel="help" href="https://fedidcg.github.io/FedCM">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>

<body>

<script type="module">
import {fedcm_test,
request_options_with_mediation_required,
fedcm_get_and_select_first_account} from '../support/fedcm-helper.sub.js';

fedcm_test(async t => {
let options = request_options_with_mediation_required("manifest_check_disclosure_shown_false.json");
options.identity.providers[0].clientId = "0";
options.identity.providers[0].scope = ["non_default_scope"];
const cred = await fedcm_get_and_select_first_account(t, options);
assert_equals(cred.token, "token");
assert_equals(cred.isAutoSelected, false);
}, "We should send disclosure_text_shown=false when custom scopes are passed.");

</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"accounts_endpoint": "accounts.py",
"client_metadata_endpoint": "client_metadata.py",
"id_assertion_endpoint": "token_check_disclosure_shown_false.py",
"login_url": "login.html"
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import importlib
error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")

def main(request, response):
request_error = error_checker.tokenCheck(request)
if (request_error):
return request_error

if request.POST.get(b"disclosure_text_shown") != b"false":
return (560, [], "disclosure_text_shown is not false")

response.headers.set(b"Content-Type", b"application/json")
response.headers.set(b"Access-Control-Allow-Origin", request.headers.get(b"Origin"))
response.headers.set(b"Access-Control-Allow-Credentials", "true")

return "{\"token\": \"token\"}"

0 comments on commit 84b308d

Please sign in to comment.