redirect_uri中带有#号时,跳转地址会被截断处理?
提问
自建应用授权后的redirect_uri中带有#号时,无法跳转到正常的uri地址,会在#号前截断,导致无法进入企业应用。
示例redirect_uri: http://demo.test.com/#/login_back/wx,在实际配置中,该地址经过了url编码,http%3A%2F%2Fdemo.test.com%2F%23%2Flogin_back%2Fwx。
最终oauth2的链接为:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=123456789&redirect_uri=http%3A%2F%2Fdemo.test.com%2F%23%2Flogin_back%2Fwx&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
期望跳转地址:http://demo.test.com/#/login_back/wx?code=CODE&state=STATE
实际跳转地址:http://demo.test.com/?code=CODE&state=STATE
// https://www.npmjs.com/package/qs
yarn add qs
import qs from 'qs'
const search = qs.parse(window.location.search, { ignoreQueryPrefix: true })
console.log(search)
这个好像是企业微信那边默认就截取的判断就是http到第一个#号,之前有遇到过