TwitterKitを使ってるアプリでWeb経由の認証が出来なくなったのを解決した

Twitterの仕様変更

本日(2018/06/12)に認証周りの仕様が変わった。

認証して戻ってくる時のコールバックURLをデベロッパーの管理画面で設定するのが必須になった

Callback URL — Twitter Developers

TwitterKitを使ってログインを実装してるアプリで、端末にTwitterが入ってなければブラウザが立ち上がって認証が行われる

その場合、コールバックURLの設定をしてないと認証がコケるようになってしまった

ちなみにReactNativeアプリの開発でTwtiterの認証にreact-native-twitter-signinを使っている

github.com

修正

アプリの管理画面の設定を開く

https://apps.twitter.com/

f:id:rskull:20180612192226p:plain

コールバックURLに

twitterkit-YourConsumerKey:// の形式で登録する

これはTwitterKitがコールバックURLとして使っているもの

YourConsumerKeyは自分のアプリのコンシューマーキー

://を末尾に付けないと登録出来ないので注意

f:id:rskull:20180613123301p:plain

..

f:id:rskull:20180612191828p:plain

登録が終わったら、コールバックをロックしても正常に認証出来るようになった

※ 追記(2018/06/14)

上記の対応だと、AndroidのWeb経由だけ認証が通らなかった

合わせて下記の対応でiOSTwitter経由/Web経由)AndroidTwitter経由/Web経由)すべての経路で認証が通るようになった

ちなみにtwittersdk://の対応だけだとiOSのWeb経由が通らなくなった(僕の環境だと)

この辺の挙動アナウンスないしほんと謎