【问题标题】:Getting unauthorized_client (Missing valid authorization header) in return on twitter authrorization wuth next-auth获取 unauthorized_client(缺少有效的授权标头)作为对 twitter 授权的回报 wuth next-auth
【发布时间】:2022-12-22 11:57:07
【问题描述】:

我正在尝试添加一个 Twitter 授权按钮,让我获得用户 oauth_token 和 oauth_token_secret,这允许我们的工具代表用户执行操作。

import NextAuth from "next-auth";
import TwitterProvider from "next-auth/providers/twitter";

export const authOptions = {
  // Configure one or more authentication providers
  providers: [
    TwitterProvider({
      clientId: process.env.TWITTER_CLIENT_ID,
      clientSecret: process.env.TWITTER_CLIENT_SECRET,
      version: "2.0", // opt-in to Twitter OAuth 2.0
      authorization: {
        url: "https://twitter.com/i/oauth2/authorize",
        params: {
          grant_type: "authorization_code",
          scope: "users.read tweet.read tweet.write like.read list.read",
        },
      },
    }),
    // ...add more providers here
  ],
  session: {
    strategy: "jwt",
  },
  callbacks: {
    jwt: ({ token, account, ...props }) => {
      console.log({ token, account, props }, props?.profile?.data);

   
      return token;
    },
    session: async ({ session, user, token }) => {
      session.user = user;
      session.token = token;
      return session;
    },
  },
  secret: process.env.NEXTAUTH_SECRET,
  debug: true,
};
export default NextAuth(authOptions);


这是我当前使用 next-auth 提供程序的 sn-p。

如果我选择应用类型

来自 Twitter 的本机应用程序可以进行身份​​验证,但不会返回客户端的秘密。这就是为什么使用 Web App 会提供机密的客户详细信息。

但是处理它会返回一个无效的标头错误。

【问题讨论】:

    标签: reactjs twitter twitter-oauth next-auth request-headers


    【解决方案1】:

    我遇到了同样的问题。虽然我不能 100% 确定这是否会解决问题,但我能够通过重置 Twitter 客户端 ID 和机密的环境变量然后重新启动开发服务器来解决问题。

    如果这没有解决,请告诉我并乐于进一步探索。

    【讨论】:

      猜你喜欢
      • 2012-10-27
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 2017-11-23
      • 2019-04-20
      • 2019-06-17
      相关资源
      最近更新 更多