我正在使用符合RFC6749的自定义OAuth2授权服务器(旧的初始版本@ https://github.com/gvaduha/OAuth2CppLib),并希望将hello.js用于单页客户端。我从一开始就做了什么:
(function(hello){
hello.init({
myoauth : {
name : 'myoauth',
oauth : {
version : 2,
auth : 'https://localhost/oauth2/authorize',
grant : 'https://localhost/oauth2/token'
},
refresh : false,
scope : {
basic : 'profile'
},
scope_delim : ' ',
base : 'https://localhost/',
get : {
"me" : "profile"
},
}
});
})(hello);
var CLIENT_IDS = {
myoauth : 'OAuthTestClientId',
windows : WINDOWS_CLIENT_ID,
google : GOOGLE_CLIENT_ID,
facebook : FACEBOOK_CLIENT_ID
};
<button onclick="login('myoauth')">Login myoauth</button>
<script src="../src/modules/myoauth.js"></script>
但这一切都没有。当我在服务器身份验证之后单击登录页面然后授权然后页面回复302重定向到
当我关闭弹出页面时说
callback:{
"error": {
"code": "cancelled",
"message": "Login has been cancelled"
},
"network": "myoauth"
}auth:{
"error": {
"code": "cancelled",
"message": "Login has been cancelled"
},
"network": "myoauth"
}auth.failed:{
"error": {
"code": "cancelled",
"message": "Login has been cancelled"
},
"network": "myoauth"
}
我做错了什么?顺便说一句:当我改变它的id以指向我注册的应用程序客户端时,Google的工作正常。
答案 0 :(得分:2)
OAuth2响应似乎没有保持“状态”状态。给定示例中的URI参数。