我正在尝试在 Game Maker 应用中使用 Twitter 通过 OAuth 对 Firebase 用户进行身份验证(Game Maker 不支持 SDK)。
通过 REST HTTP POST 请求(按照https://developer.twitter.com/en/docs/basics/authentication/api-reference/request_token)执行此操作,但响应是“错误 32,无法对您进行身份验证”。
我已在 Firebase 和 Twitter 的开发者控制台上设置了我的应用程序,并将 API 密钥/秘密值复制到 Firebase 控制台。Firebase 为我提供了一个callback_url,我已将其列入 Twitter 应用程序的白名单。
我正在关注 3-legged OAuth 的 Twitter API 文档(这是步骤 1,POST request_token),并检查了无数其他资源。
在签名上,我已经使用在线编码器仔细检查了我的 HMAC-SHA1 编码是否正确,确实如此。
这是我的 HTTP 请求:
URL:https: //api.twitter.com/oauth/request_token 方法:POST 标头:
Host : api.twitter.com,
Content-Type : application/x-www-form-urlencoded,
Authorization :
Oauth oauth_callback="https%3A%2F%2Fbitblock-blast.firebaseapp.com%2F__%2Fauth%2Fhandler", oauth_consumer_key="kEH9VascQh5rGdq6khl0oCfnL", oauth_nonce="p0B7y4w0P334qa633JzF370z89LK0N60", oauth_signature="MTIwMjc1Nzc1MTczODQ1OTUxMzQyMzgxMzIxNzYxODQxMjQyMzkyNTEyMDI3MTI0MjM1", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1571857067", oauth_version="1.0"
Run Code Online (Sandbox Code Playgroud)
身体: ””
标头的签名是从此字典生成的:
oauth_callback : https://bitblock-blast.firebaseapp.com/__/auth/handler,
oauth_consumer_key : [TWITTER API KEY],
oauth_nonce …Run Code Online (Sandbox Code Playgroud)