谷歌浏览器扩展程序与OAuth

5

我有一个谷歌浏览器扩展程序,需要验证才能访问服务器上的数据。在我的服务器上,我添加了OAUTH登录功能,允许用户通过Gmail账号登录(我已经在我的服务器上配置了重定向URL,并且这个功能可以正常工作,我可以从网页上用Google账号登录)。我在谷歌浏览器扩展程序上实现了OAuth功能(https://developer.chrome.com/apps/identity),我可以获取OAuth令牌。但是我不确定如何使用此令牌登录到我的服务器账户。请问是否有人能帮助我解决这个问题?


1
如果您已经获取了令牌(无论是通过交互式还是非交互式方式),这意味着您的用户已经通过身份验证。您只需要将该令牌保存在与电子邮件ID相对应的位置。您可以通过身份API中的“getProfileUserInfo”获取此电子邮件ID。希望我正确理解了您的问题并作出了回答。 - Savaratkar
你在服务器上使用什么后端? - Matt
2个回答

0
我成功实现这样的方案的唯一方法是通过使用查询URL从扩展程序向服务器传递令牌。 服务器使用此令牌使用Google API获取电子邮件,然后根据返回的电子邮件初始化会话。

0

如果您想要从扩展程序中使用访问令牌来访问您的GMail信息,只需要在调用API时将该令牌添加到请求头即可:

Authorization: Bearer <access_token>

例如,要访问您的Gmail邮件,您可以进行简单的Ajax调用:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://www.googleapis.com/gmail/v1/users/<userId>/messages');
xhr.setRequestHeader('Authorization', 'Bearer ' + access_token);
xhr.onload = function() { console.log(this.response) };
xhr.send();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接