利用Implicit Grant授权的模式,在授权认证之后直接从回调链接URL获取access_token,优点是方便,不需要后端,缺点是不能刷新access_token,每一个月需要重新授权一次。适合轻网页应用。
授权链接:
https://openapi.baidu.com/oauth/2.0/authorize?response_type=token?client_id=CLIENT_ID?redirect_uri=http%3A%2F%2REDIRECT.URI%?scope=basic+netdisk?display=popup
从回调地址获取access_token:
function getQueryStringRegExp(name) {
var reg = new RegExp("(^|?|&)" + name + "=([^&]*)(s|&|$)", "i");
if (reg.test(location.href)) return unescape(RegExp.$2.replace(/+/g, " "));
return null;
};
可以直接使用本页面作为回调页面。加一个授权验证即可。
var accessToken = getQueryStringRegExp('access_token');
if (accessToken != null) {
$.ajax({
url: 'https://openapi.baidu.com/rest/2.0/passport/users/isAppUser?access_token=' + accessToken,
dataType: 'jsonp'
}).done(function(data) {
var isAuth;
if (data.result == 1) {
isAuth = '已授权';
$.ajax({
url: 'https://openapi.baidu.com/rest/2.0/passport/users/getLoggedInUser?access_token=' + accessToken,
dataType: 'jsonp'
}).done(function(data) {
});
$.ajax({
url: 'https://pcs.baidu.com/rest/2.0/pcs/quota?method=info?access_token=' + accessToken,
dataType: 'jsonp'
}).done(function(data) {
});
} else {
isAuth = '未授权';
}
});
}