在遇到问题之前,我的扩展程序的用例是使用gmail上选定的内容重定向到我的Web应用程序。为此,已加载的gmail的gmail地址应与使用我的Web应用程序注册的电子邮件地址匹配。例如,如果我使用gmail地址注册了Web应用程序-abc@gmail.com,现在如果我使用相同的gmail地址(即abc@gmail.com)打开gmail,则应该允许用户使用扩展名,但是如果我打开了那么xyz@gmail.com的gmail,则我应该无法使用该扩展名,因为打开的gmail帐户的电子邮件地址与在网络应用中注册的电子邮件不匹配。
我已经在popup.js中创建了一个用于身份验证的登录名,并且可以正常工作,但是我不知道如何获取已打开的gmail的所有者的电子邮件地址,因此如果登录的帐户具有相同的电子邮件地址,我可以进行匹配。我该怎么做?有人可以指导我吗?
答案 0 :(得分:0)
我首先假设,当您说“电子邮件ID”时,您实际上是指“电子邮件地址”,而这又是这些社交媒体网络的用户ID。
是否可以使用任何这些社交媒体的API 那些将我拥有的电子邮件ID映射到用户的应用程序 应用程序,然后获取用户的公共信息?
是和否。为了从这些社交媒体网络中请求个人资料信息(简称为“提供者”),您的应用需要根据实际用户的行为来请求它。也就是说,用户将需要通过您的应用向这些提供程序进行身份验证。为此,用户将需要提供最少的信息(电子邮件和密码),并且您的应用也将需要进行身份验证...通常通过OAuth或本机API通过指定已发布的“应用ID”(或客户端ID)和应用秘密。成功向这些提供商注册应用程序后,这些提供商应该会收到这些信息。
有人知道任何第三方产品/ API可以帮助您 提供这种身份证明?
我不太确定,这超出了Stackoverflow的范围...但是,您真的需要在项目中添加另一个抽象层吗?另一个依赖?考虑直接与这些提供商进行互动,您将获得更多好处
因此,基本上,您的应用将必须让用户提供其凭据才能请求此信息。对于OAuth,您的应用程序将永远不会看到这些凭据,因为身份验证过程发生在您的应用程序外部,您的应用程序将收到的唯一访问令牌是请求访问令牌范围内可用信息的访问令牌。我的意思是,您必须请求特定的权限。这些提供商的开发者网站上有很多信息,我相信您会顺利解决这个问题,但是请随时询问是否不够清楚。