кнопка входа в Google не отображается - PullRequest
2 голосов
/ 06 марта 2019

Я пытаюсь создать расширение Chrome (очень новое для программирования расширений).Я хочу использовать кнопку входа в Google для аутентификации пользователей с помощью их учетных записей Google.Я следовал многим урокам (и провел много исследований), таким как этот https://developers.google.com/identity/sign-in/web/sign-in#before_you_begin. Я не могу найти ни одного, который бы исправил проблему рендеринга.Я получаю эту ошибку, но не уверен, является ли она причиной моей проблемы.

message: "Invalid cookiePolicy" stack: "gapi.auth2.ExternallyVisibleError: Invalid cookiePolicy

Мой файл manifest.json:

(ключи были изменены)

{	
	"name": "Save My Pass",
	"version": "1.1",
	"description": "Create a useful tool that will help eliminate the worries of remembering and managing passwords by yourself.",
	"manifest_version": 2,
	"author":"Austin Jerich",
	"permissions": ["identity", "storage", "https://*.google.com/"],

	"background":{
		"scripts": [
			"js/background.js"
		],
		"persistent": false
	},
	
	"content_scripts": [{
		"js": ["js/oauth.js"],
		"matches": ["http://*/*"]
	}],
	
	"content_security_policy": "script-src 'self' https://apis.google.com; object-src 'self'",

	"browser_action": {
		"default_popup": "pages/home.html",
		"default_icon": "images/icon_48.png"
	},

	"icons": {
		"48": "images/icon_48.png"
	},

	"options_page": "pages/options.html",

	"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmeybG4Q1WXCLsMw0zPaBqi2f02sNSXEwDn8bH0G1TqqLtO0IRKXlXpRVYPiAP3vyeLya6VgjbXhSBI9JqqZxSJtjhK2iHUNEN2SHWG4KS6E5NqmsvpxoZCSWQBhx2omOfpggGTjbIKEgULJQLWEYmsvu6YAPdsbpB49sZ5A/x4udI1WecwYumWKgWB3oFSpwuvcEBeldMPvLCcRahIPC469zvAHFhHNhqQIDAQAB",


	"oauth2": {
		"client_id": "1976054582-cjejnq5eh1sci558rb0evq.apps.googleusercontent.com",
		"scopes": ["https://www.googleapis.com/auth/contacts.readonly"]
	}
}

Файл login.html, в котором находится кнопка входа в Google:

<!DOCTYPE html>
<html>
<head>
	<script src="https://apis.google.com/js/platform.js" async defer></script>
	<!--<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>-->

	<meta name="google-signin-client_id" content="1976054582-cjejnq5eh1sc58rb0evq.apps.googleusercontent.com">
	
	<script type="text/javascript" src="/js/oauth.js"></script>
	<link rel="stylesheet" href="/css/default.css">
<style>
h2{
	text-align: center;
}

#submit{
	text-align: center;
}

#username, #password{
	display: block;
	margin-right: auto;
	margin-left: auto;
}
</style>
</head>
	<body>
		<h2>SaveMyPass</h2>
		<!--<input type="text" id="username" placeholder="Username"></input>
		<input type="password" id="password" placeholder="Password"></input>-->
		<div id="submit"><input type="submit" id="btn-login" value="Login"></input></div>
		<div class="g-signin2" data-onsuccess="onSignIn"></div>
		
	</body>
</html>

Файл oauth.js, с которым я работал ранее (не уверен, актуален или нет)

 window.onload=function() {
    document.querySelector('#btn-login').addEventListener('click', function() {
		console.log("click login")
		chrome.identity.getAuthToken({interactive: true}, function(token) {
			let init = {
			method: 'GET',
			async: true,
			headers: {
				Authorization: 'Bearer ' + token,
				'Content-Type': 'application/json'
			},
			'contentType': 'json'
        };
      });
    });
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...