11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TwitterがインストールされていないとTwitterKitで認証できない

Last updated at Posted at 2018-07-20

2ヶ月以上前から告知はされていたようですが、apps.twitter.comのサイトでTwitterアプリの
登録を行う場合に設定するCallbackURLを厳密に見るようになっていたようです。

Action REQUIRED - Sign in with Twitter users must whitelist callback URLs

現象

この対応をしていない状態で、Twitterアプリがインストールされていない端末で
Twitterへのログインが必要な操作を実行すると、以下のようなエラーが出力されます。

[TwitterKit] did encounter error with message "Error obtaining user auth token.":
 Error Domain=TWTRLogInErrorDomain Code=-1 
"<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error code="415">
Callback URL not approved for this client application. 
Approved callback URLs can be adjusted in your application settings
</error>
</errors>"

原因

Callback URL - Twitter Developer
こちらのドキュメントにあるように、oauth/request_tokencallback_urlにapps.twitter.comで登録したCallbackURLをちゃんと登録しないといけないようです。
そんなことを言われても、TwitterKitのloginAPIにはcallback_urlパラメータがありません。

解決策

Callback URL Example
こちらで回答されているように、以下のフォーマットでapps.twitter.comのCallbackURLsに追加すると、特にアプリの再申請などをしなくても正常に動作するようになりました。

twitterkit-CONSUMERKEY://

CONSUMERKEYは、Keys and Access TokensにあるApplication SettingsConsumer Key (API Key)です。
たとえばキーがAAAAAAAAならば、twitterkit-AAAAAAAA://になります。

参考

TwitterのAPIでcallbackURLをチェックするようになった

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?