Javascript 重定向后从URL获取身份验证代码
我正在尝试使用Dropbox API,但在我想进行授权之前,通过遵循Dropbox API文档,我必须将用户重定向到特定的URL,在该用户必须信任我的应用程序之后,然后在确认后,用户将被重定向回我的应用程序,URL中有授权代码。我需要该授权代码来向端点发出请求 我使用的是VueJS 2,所以我创建了auth.js文件,我将在其中存储所有相关数据,到目前为止,它是这样的Javascript 重定向后从URL获取身份验证代码,javascript,vue.js,Javascript,Vue.js,我正在尝试使用Dropbox API,但在我想进行授权之前,通过遵循Dropbox API文档,我必须将用户重定向到特定的URL,在该用户必须信任我的应用程序之后,然后在确认后,用户将被重定向回我的应用程序,URL中有授权代码。我需要该授权代码来向端点发出请求 我使用的是VueJS 2,所以我创建了auth.js文件,我将在其中存储所有相关数据,到目前为止,它是这样的 export default { authorize(authCode) { authCode = a
export default {
authorize(authCode) {
authCode = authCode || this.getAuthCode()
if(!authCode) {
window.location.replace(`https://www.dropbox.com/1/oauth2/authorize?client_id=${config.APP_KEY}&response_type=code&redirect_uri=${config.REDIRECT_URI}`)
const code = this.stripAuthCode(window.location.href)
this.setAuthCode(code)
}
},
stripAuthCode(url) {
return url.substring(url.indexOf('=') + 1, url-length - 2)
},
getAuthCode() {
return localStorage.getItem('auth-code')
},
setAuthCode(authCode) {
localStorage.setItem('auth-code', authCode)
}
}
因此,我们的想法是将URL中的代码作为auth code
键存储到本地存储中,然后我可以使用它向Dropbox端点发出请求,并获取auth令牌
出于测试目的,我正在根组件App.vue
中导入该文件,并将authorize方法触发到mounted()
钩子中(稍后我会将其移动到更好的位置,目前为止还不错)
问题:看起来一切正常,但由于某些原因,本地存储中的auth code
设置为http://localhost:8080
即使地址栏中的URL看起来也是这样的http://localhost:8080/?code=#/
注意:stripAuthCode
方法按所需方式获取身份验证代码
=
之后的所有内容,并删除
由Vue和斜杠生成的hashbang
谢谢
import auth from './services/Auth'
export default {
...
mounted() {
auth.authorize()
}
}