【5/30 追記】
どうやら間違いだったようです。
@questbeat ごめん、ちゃんと確かめてみたらDM読めるトークンが取れるのは1回WebのOAuthでDM権限を取得したアカウントだけだった。なので少なくとも1回は明示的にWebでOAuthをする必要がある。 questbeat.hatenablog.jp/entry/2013/05/…
— kishikawa katsumiさん (@k_katsumi) 2013年5月29日
ちゃんと自分で確認して載せるべきでした。すみません。
始まりは岸川さんのつぶやきから。
iOSのAccount.frameworkから取得したアカウントでDirect Messageを読むためにReverse Authで昇格させるってのはアリな使いかたかしら?
— kishikawa katsumiさん (@k_katsumi) 2013年5月28日
えっ、えっ? 何の話だろう。
と思って調べてみると、どうやらTwitterには Reverse Auth というものがあるらしい。
えっ、こんなことできるの dev.twitter.com/docs/ios/using…
— くえびさん (@questbeat) 2013年5月28日
これは、クライアント側で取得したトークンをサーバ側でも使えるようにするための仕組みだそうだ。
@questbeat クライアント側で取得したトークンをサーバ側でも使えるようにっていうことで用意されてる仕組みだけど、Twitterのひとのサンプルあるし、 github.com/seancook/TWRev… クライアントで使ってもWebの画面なしにフルアクセスに昇格できて便利なの
— kishikawa katsumiさん (@k_katsumi) 2013年5月28日
つまり、わざわざ WebView であの認証画面を表示せずとも、Account.framework だけで Web 認証と同じようにフルアクセスできるようになっちゃうのか。
岸川さんが『アリだろうか?』と言ってるのは、Web アプリがないのに Direct Message を読むためだけにこの仕組みを利用するのはアリなのか、ということだろう。
そもそもどうして Account.framework からのアクセスに制限がかかっているのか分からないけど、アプリ内で Direct Message にアクセスすることをユーザに明示するなら、この仕組みを利用しても構わないんじゃないだろうか。