我正在开发一个与 Windows API 通信的应用程序。我正在使用 oAuth 2.0。
完整的代码仅使用 JS/HTML5 完成。但是我面临一个问题,
每当我请求访问令牌时,它都会打开一个新窗口,其中包含我的重定向 URL,并附加了访问令牌和其他参数。但是令牌不会发送回我的代码。我必须手动复制代码,因此它违背了我的应用程序的目的。有什么办法,当我单击按钮(调用我的 oAuth 调用)时,会出现一个新的弹出窗口并使用访问令牌重定向回我调用的 url?
这是我到目前为止所做的:
var APPLICATION_CLIENT_ID = 'SOME_NUMBERS',
REDIRECT_URL = "http://www.myweb.com";
WL.Event.subscribe("auth.login", onLogin);
WL.init({
client_id: APPLICATION_CLIENT_ID,
redirect_uri: REDIRECT_URL,
scope: 'wl.skydrive_update',
response_type: "token"
});
WL.ui({
name: "signin",
element: "signInButton",
brand: "hotmail",
type: "connect"
});
function greetUser(session) {
var strGreeting = "";
WL.api(
{
path: "me",
method: "GET"
},
function (response) {
if (!response.error) {
strGreeting = "Hi, " + response.first_name + "!"
document.getElementById("greeting").innerHTML = strGreeting;
}
});
}
function onLogin() {
var session = WL.getSession();
if (session) {
greetUser(session);
}
}
var tokenAuth = //Adding Manually//
var apiURL = "https://apis.live.net/v5.0/me/";
var tokenAuthParam = "?access_token=" + tokenAuth;
这就是我卡住的地方。任何人都可以帮忙。GreetUser 功能也不起作用。我希望它只使用 js/html 作为客户端。`