TwitterKitを使ってるアプリでWeb経由の認証が出来なくなったのを解決した
Twitterの仕様変更
本日(2018/06/12)に認証周りの仕様が変わった。
認証して戻ってくる時のコールバックURLをデベロッパーの管理画面で設定するのが必須になった
Callback URL — Twitter Developers
TwitterKitを使ってログインを実装してるアプリで、端末にTwitterが入ってなければブラウザが立ち上がって認証が行われる
その場合、コールバックURLの設定をしてないと認証がコケるようになってしまった
ちなみにReactNativeアプリの開発でTwtiterの認証にreact-native-twitter-signin
を使っている
修正
アプリの管理画面の設定を開く
コールバックURLに
twitterkit-YourConsumerKey://
の形式で登録する
これはTwitterKitがコールバックURLとして使っているもの
YourConsumerKeyは自分のアプリのコンシューマーキー
://
を末尾に付けないと登録出来ないので注意
..
登録が終わったら、コールバックをロックしても正常に認証出来るようになった
※ 追記(2018/06/14)
上記の対応だと、AndroidのWeb経由だけ認証が通らなかった
合わせて下記の対応でiOS(Twitter経由/Web経由)Android(Twitter経由/Web経由)すべての経路で認証が通るようになった
TwitterKit使用しててログインできなくなったアプリは、callbackのurlにtwittersdk://を追加すればiOS/Androidともにログインできるようになった。
— Mikiya Fukuda (@musclemikiya) June 14, 2018
ちなみにtwittersdk://
の対応だけだとiOSのWeb経由が通らなくなった(僕の環境だと)
この辺の挙動アナウンスないしほんと謎