mirror of
https://github.com/GoogleChrome/chrome-extensions-samples.git
synced 2026-03-26 13:19:49 +07:00
webRequest onAuthRequired sample (#909)
* webRequest onAuthRequired sample * Update background.js * Update api-samples/webRequest/manifest.json Co-authored-by: amysteamdev <37001393+AmySteam@users.noreply.github.com> * Update manifest.json * Update background.js * Update background.js * Changed background to service worker * Update manifest.json * Update service-worker.js * Changed folder organization * Update api-samples/webRequest/http-auth/service-worker.js Co-authored-by: Oliver Dunk <oliverdunk@google.com> * Update api-samples/webRequest/http-auth/manifest.json Co-authored-by: Oliver Dunk <oliverdunk@google.com> * Added readme and corrected code * Corrected readme * Update manifest.json * Update api-samples/webRequest/http-auth/http-auth.md Co-authored-by: Joe Medley <jmedley@google.com> * Update api-samples/webRequest/http-auth/http-auth.md Co-authored-by: Joe Medley <jmedley@google.com> * Update service-worker.js * Update manifest.json --------- Co-authored-by: amysteamdev <37001393+AmySteam@users.noreply.github.com> Co-authored-by: Oliver Dunk <oliverdunk@google.com> Co-authored-by: Joe Medley <jmedley@google.com>
This commit is contained in:
committed by
GitHub
parent
eb4acc3d06
commit
175868f4ac
7
api-samples/webRequest/http-auth/http-auth.md
Normal file
7
api-samples/webRequest/http-auth/http-auth.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# webRequest.onAuthRequired
|
||||
|
||||
This sample demonstrates the `webRequest.onAuthRequired` listener to detect an authentication request and log the user into the designated site.
|
||||
|
||||
## Overview
|
||||
|
||||
When an authentication check is detected, a check is made to confirm that the request has come from the correct source. Account credentials are then provided for the response via an auth handler.
|
||||
15
api-samples/webRequest/http-auth/manifest.json
Normal file
15
api-samples/webRequest/http-auth/manifest.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "webRequest.onAuthRequired Demo",
|
||||
"version": "1.0",
|
||||
"manifest_version": 3,
|
||||
"background": {
|
||||
"service_worker": "service-worker.js"
|
||||
},
|
||||
"permissions": [
|
||||
"webRequest",
|
||||
"webRequestAuthProvider"
|
||||
],
|
||||
"host_permissions": [
|
||||
"https://httpbin.org/*"
|
||||
]
|
||||
}
|
||||
35
api-samples/webRequest/http-auth/service-worker.js
Normal file
35
api-samples/webRequest/http-auth/service-worker.js
Normal file
@@ -0,0 +1,35 @@
|
||||
// Copyright 2023 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Provides credentials when an HTTP Basic Auth request is received.
|
||||
chrome.webRequest.onAuthRequired.addListener(
|
||||
(details, callback) => {
|
||||
console.log('An authorization request has been detected');
|
||||
if (details.url == 'https://httpbin.org/basic-auth/guest/guest') {
|
||||
// Creating some credentials
|
||||
const username = 'guest';
|
||||
const password = 'guest';
|
||||
// Creating an auth handler to use the credentials
|
||||
const authCredentials = {
|
||||
authCredentials: {
|
||||
username: username,
|
||||
password: password
|
||||
}
|
||||
};
|
||||
callback(authCredentials);
|
||||
}
|
||||
},
|
||||
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
|
||||
['asyncBlocking']
|
||||
);
|
||||
Reference in New Issue
Block a user