Login OAuth-使用Moodle登录
Login OAuth-使用Moodle登录,login,oauth,google-chrome-extension,openid,moodle,Login,Oauth,Google Chrome Extension,Openid,Moodle,我正在为一所学校构建一个chrome扩展,它需要与moodle进行身份验证,这意味着我需要一个OAuth或类似OpenID的设置,我打开一个页面给moodle,然后用户登录/批准应用程序,然后返回一个令牌,然后我可以将其用于正常的moodle web服务调用。这可能吗 谢谢, Ari我在尝试使用oauth对扩展进行身份验证时遇到了类似的问题,我使用的流程是首先检查是否存储了令牌:如果没有,则从后台页面打开一个新选项卡,这意味着在首次安装扩展时将运行该选项卡,尽管如果有令牌,我们将继续运行请求,但
我正在为一所学校构建一个chrome扩展,它需要与moodle进行身份验证,这意味着我需要一个OAuth或类似OpenID的设置,我打开一个页面给moodle,然后用户登录/批准应用程序,然后返回一个令牌,然后我可以将其用于正常的moodle web服务调用。这可能吗 谢谢,
Ari我在尝试使用oauth对扩展进行身份验证时遇到了类似的问题,我使用的流程是首先检查是否存储了令牌:如果没有,则从后台页面打开一个新选项卡,这意味着在首次安装扩展时将运行该选项卡,尽管如果有令牌,我们将继续运行请求,但我要求用户在审批完成后关闭该选项卡,我在创建该选项卡后为其设置了一个侦听器,然后我知道该过程已经完成,我可以发出请求 如果你需要这部分的代码,我很乐意发布 祝你好运 更新: 检查我们是否保存了代币:
if(localStorage.token){
if(localStorage.secret){
如果没有:
else{
var authURL = bgOauth.requestTokenCall();
var req = new XMLHttpRequest();
req.overrideMimeType("application/json");
req.onload = bgOauth.processRequestTokenData;
req.open("get", authURL, true);
req.send();
console.log('sent')
}
然后我处理来自此的响应,如果一切正常,则打开一个新选项卡:
startPopup : function(destinationurl) {
chrome.tabs.create({url : destinationurl},
function(tab){bgOauth.newTabId = tab.id})
alert(Instructions)
chrome.tabs.onRemoved.addListener(function(tabId)
{
console.log('oh no, closed');
if(tabId == bgOauth.newTabId){
console.log('freaking sweet!');
bgOauth.handleApproval()
}
else{
return false;
}
})
然后我可以完成授权过程,preform请求确保将您的凭据保存在localStorage中。我在尝试使用oauth验证扩展时遇到类似问题,我使用的流程是首先检查是否存储了令牌:如果没有,则从后台页打开一个新选项卡,这意味着它将在第一次安装扩展时运行,尽管如果有令牌,我们将继续运行我们的请求,但我要求用户在批准完成后关闭选项卡,我在创建该选项卡后设置了一个侦听器,然后我知道该过程已完成,我可以发出请求 如果你需要这部分的代码,我很乐意发布 祝你好运 更新: 检查我们是否保存了代币:
if(localStorage.token){
if(localStorage.secret){
如果没有:
else{
var authURL = bgOauth.requestTokenCall();
var req = new XMLHttpRequest();
req.overrideMimeType("application/json");
req.onload = bgOauth.processRequestTokenData;
req.open("get", authURL, true);
req.send();
console.log('sent')
}
然后我处理来自此的响应,如果一切正常,则打开一个新选项卡:
startPopup : function(destinationurl) {
chrome.tabs.create({url : destinationurl},
function(tab){bgOauth.newTabId = tab.id})
alert(Instructions)
chrome.tabs.onRemoved.addListener(function(tabId)
{
console.log('oh no, closed');
if(tabId == bgOauth.newTabId){
console.log('freaking sweet!');
bgOauth.handleApproval()
}
else{
return false;
}
})
然后我可以完成授权过程,preform请求确保将您的凭据保存在localStorage中。我不太清楚您的意思,是的,代码将非常有用。什么是
bgouth
,什么是authURL?bgouth是我制作的一个小的Oauth方法集合,用于在需要签名时生成Oauth URL。authURL是根据上述描述生成的URL,它是我随后将请求发送到的URL,这可能与您不同,我没有moodle方面的经验。我不太清楚您的意思,是的,代码将非常有用。什么是bgouth
,什么是authURL?bgouth是我制作的一个小的Oauth方法集合,用于在需要签名时生成Oauth URL。authURL是根据上述描述生成的URL,它是我随后将请求发送到的URL,这可能与您不同,我没有使用moodle的经验。