📝

GCPのIdentity Platformでtwitterログインをfirebaseで実装しようとしてアプリID(APP ID)にハマった件

2023/07/06に公開

twitter API周りが2023年に有料化する流れでtwitter側のAPI申請やAPI Keyなどの画面がかなり変わりました。そのせい(?)なのか(※もしくはIdentity Platformの説明が悪いのか)どうでもいいところでハマってしまったので他の人がはまらないように記事として残しておきます。

Identity Platform側のページ

identity-platformにtwitterログイン設定の手順
https://cloud.google.com/identity-platform/docs/web/twitter?hl=ja
には

Twitter のアプリ ID とアプリ シークレットを入力します。ID とシークレットをまだ持っていない場合は、Twitter アプリページから取得できます。

このように書かれているのですが、このアプリIDがミスリード!!!!!

https://developer.twitter.com/

のappページ側にApp IDというまさにアプリIDが用意されているのだがこれのことではない。この値を入れるともちろん動かないのですがずっと正しい値を入れていると思ってハマっていました。。。

twitter developerのアプリ側のページ

まごうことなき、APP ID (アプリID)がありますが、この数字で構成されたアプリIDをIdentity Platformに入れてはいけません。
下図のKeys and tokens タブを開くとある
API Key and Secretの「Regenarate」押して表示される、API Key と secret keyをidentity platform側のアプリIDとアプリSecretに入れてください。
App ID とは API Keyのことだったのです。

参考

firebase側のtwitter-loginの設定の手順ページ
https://firebase.google.com/docs/auth/web/twitter-login?hl=ja
には、

そのプロバイダのデベロッパー コンソールで取得した API キーと API Secret をプロバイダ構成に追加します。
Twitter でデベロッパー アプリケーションとしてアプリを登録し、アプリの OAuth API キーと API Secret を取得します。

とAPI Keyと API Secretを設定しろと書いてあります。こちらを見ている人ははまらなかったかも。そもそもAPI KeyとAPI Secretはペアのはずなんだからその2つを入れるのが普通だというのは頭の片隅にはあったのに無駄にはまってしまったのでした。

Discussion