首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Microsoft Edge扩展中确定身份?

如何在Microsoft Edge扩展中确定身份?
EN

Stack Overflow用户
提问于 2018-09-25 00:28:13
回答 2查看 619关注 0票数 0

在Chrome扩展中,开发人员可以使用以下内容来确定用户身份:

代码语言:javascript
运行
复制
chrome.identity.getProfileUserInfo(function callback)

Microsoft Edge似乎没有相同的功能。

有没有人知道在Microsoft Edge扩展中确定用户身份的方法?根据微软的文档,它看起来正在考虑开发,但我希望有人找到了另一种方法:供参考(https://docs.microsoft.com/en-us/microsoft-edge/extensions/api-support/extension-api-roadmap)。

我们的扩展将使用服务器端API,这意味着我们需要协调用户的身份,但它是由系统管理员自上而下地向组织中的数百个用户推出的;因此,不可能通过扩展“要求”每个用户登录。

EN

回答 2

Stack Overflow用户

发布于 2018-09-26 18:02:47

如你所知,Edge does not support identity now。因此,我们无法使用Edge扩展API获取用户身份。目前我们没有任何获得用户身份的技巧,也不鼓励使用棘手的方法来做到这一点。最好、最安全的方法就是现在用你的扩展登录。

如果Edge实现了identity API,那么它可以被设计为返回用户的MSA或AAD信息。然而,Edge并没有实现该应用程序接口,即使它实现了,它也可能无法满足需求,因为给定的企业用户完全有可能使用传统的域加入PC与域用户(例如constoso\test),但使用MSA (例如sample@hotmail.com)进行同步。

在大多数情况下,企业可能更乐于获得用户的域标识。今天,他们可以让扩展发布一个WebRequest,该the命中内部web服务,该服务使用Windows集成身份验证来挑战客户端,自动身份验证(因为它是内部的),并返回与域凭据关联的令牌。

票数 0
EN

Stack Overflow用户

发布于 2018-09-26 23:41:30

如上所述,Microsoft Edge尚不支持此功能。

获取用户身份的一种方法涉及一些折衷,即要求用户使用google.com作为其主页,然后读取用户身份的页面源数据。然后,您可以使用"tabs“API来获取页面内容并发现已登录的用户身份。

以下是Chrome代码:

代码语言:javascript
运行
复制
    chrome.tabs.getSelected(null, function (tab) {
        chrome.tabs.sendRequest(tab.id, {action: "getSource"}, function(source) {
            alert(source);
        });
    });

似乎Microsoft Edge也有这样的方法,但文档很含糊:

https://docs.microsoft.com/en-us/microsoft-edge/extensions/api-support/supported-apis#tabs

应该注意的是,这不是一个安全地识别用户的好方法(例如,其他扩展可以修改页面数据来伪造用户)。它不应该用作适当的身份验证令牌的替代品--但是,它确实是一种确定谁“可能”正在使用该扩展的方法。在我们的情况下,我们正在构建扩展,为企业组织团队提供改进的用户体验。

如果任何更熟悉Edge developer API的人能够添加用于抓取页面源数据的Edge代码,以使此答案更加完整,将不胜感激。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52483650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档