Google chrome extension 如何从mediawiki/xpressengine获取当前登录的用户名?

Google chrome extension 如何从mediawiki/xpressengine获取当前登录的用户名?,google-chrome-extension,mediawiki,Google Chrome Extension,Mediawiki,我正在编写一个chrome扩展 我想做的是:检查用户当前是否登录。如果是,请获取他/她的用户名。如果没有,则显示登录按钮 我想同时从不同的服务获取登录状态:mediawiki和xpressengine 如何解决此问题?您可以使用api检查用户是否已登录,如果已登录,则获取用户名。例如,如果在web浏览器中打开,您可以看到未登录用户的以下响应: { "batchcomplete": "", "query": { "userinfo": { "

我正在编写一个chrome扩展

我想做的是:检查用户当前是否登录。如果是,请获取他/她的用户名。如果没有,则显示登录按钮

我想同时从不同的服务获取登录状态:mediawiki和xpressengine


如何解决此问题?

您可以使用api检查用户是否已登录,如果已登录,则获取用户名。例如,如果在web浏览器中打开,您可以看到未登录用户的以下响应:

{
    "batchcomplete": "",
    "query": {
        "userinfo": {
            "id": 0,
            "name": "X.X.X.X",
            "anon": ""
        }
    }
}
请参阅
名称
anon
键。
name
键包含始终为用户名的密码(在本例中为请求客户端的ip),另一方面,如果用户是匿名的,
anon
键仅附加到
userinfo
对象(因此,您可以安全地假设用户是匿名的,如果密钥存在,则在响应的较新格式版本中,这将被布尔值代替,而不是作为值的空字符串)

以及来自登录用户的以下信息

{
    "batchcomplete": "",
    "query": {
        "userinfo": {
            "id": 000000,
            "name": "XXXXXXXXX"
        }
    }
}
查看缺少的
anon
键和更改的
name
键。此外,
d
键现在包含真实的用户ID,而不是默认的
0
(未分配给任何现有用户)

如果要使用用户名和密码登录用户,可以使用

但是,如果您希望为另一个应用程序(如您的扩展)提供登录可能性,您可能希望使用OAuth,而不是login/userinfo api,后者要求用户向您提供其帐户的用户名和密码,这可能不是赢得信任的最佳方法:)有关wikimedia Wiki(mediawiki.org,wikipedia.org,…)中使用的OAuth系统的信息可在上找到,开发人员的信息可在和上找到