feat: update X OAuth

This commit is contained in:
tim
2025-07-16 18:42:13 +08:00
parent af17156a42
commit efe5a51889
+4 -1
View File
@@ -24,12 +24,15 @@ export async function twitterAuthorize(state = '') {
toast.error('Twitter 登录不可用') toast.error('Twitter 登录不可用')
return return
} }
if (state === '') {
state = Math.random().toString(36).substring(2, 15)
}
const redirectUri = `${window.location.origin}/twitter-callback` const redirectUri = `${window.location.origin}/twitter-callback`
const codeVerifier = generateCodeVerifier() const codeVerifier = generateCodeVerifier()
sessionStorage.setItem('twitter_code_verifier', codeVerifier) sessionStorage.setItem('twitter_code_verifier', codeVerifier)
const codeChallenge = await generateCodeChallenge(codeVerifier) const codeChallenge = await generateCodeChallenge(codeVerifier)
const url = const url =
`https://twitter.com/i/oauth2/authorize?response_type=code&client_id=${TWITTER_CLIENT_ID}` + `https://x.com/i/oauth2/authorize?response_type=code&client_id=${TWITTER_CLIENT_ID}` +
`&redirect_uri=${encodeURIComponent(redirectUri)}&scope=tweet.read%20users.read` + `&redirect_uri=${encodeURIComponent(redirectUri)}&scope=tweet.read%20users.read` +
`&state=${state}&code_challenge=${codeChallenge}&code_challenge_method=S256` `&state=${state}&code_challenge=${codeChallenge}&code_challenge_method=S256`
window.location.href = url window.location.href = url