Twitterアカウントを使ってログインできるWebサイトを作っています。
最近、Twitter for iPhoneのアプリ内ブラウザからサイトにログインしようとしたらアプリケーションの連携画面でユーザーIDとパスワードを入力して認証ボタンを押した段階でアプリ内ブラウザが勝手に終了し、@sessionsという存在しないアカウントに勝手に飛ばされて結果的にログインできなくなっています。
なので、Twitter for iPhoneからアクセスがあった際にログインボタン(アプリケーションの連携画面へのリンク)をクリックしたらiPhoneのSafariに切り替わり表示していたページを表示してくれるリンクを付けてユーザーを誘導しようとしているのですが、どういう方法で実装すればいいのか分からず困っています。
URLスキームを使えばいいのではないかと思い、<a href="safari://http://example.com/">このページをSafariで開く</a>というふうにしてみたのですがどうも違うようで、上手く動いてくれません。
現在のところはページの一番上に「ログイン出来ない場合はSafariで開いて下さい」と案内を表示しているのですが、ログインボタンを押したら自動的にSafariに切り替わってくれるようにした方が分かりやすくて良さそうなので…
みんなの回答 3 件
難易度★★★★★
仙人向け。
oAuthのことと思いきや、なんかよくわからないことをおっしゃってるな。
あくまで親切心で進言するが、文面から察するにトピ主には難しいと思うぞ。
ってことだろ。これぐらい誰かエスパーしてやれよ。
で、結論から言うと、そんなことはできない。
それができてしまうと、悪意を持ったWebサイトがユーザーに任意のアプリを開かせることができてしまう(≒脆弱性になる可能性がある)。
諦めて現状の対応で我慢するか、どうにかして内蔵ブラウザでも認証できるようにするしかないかと。
関連するトピックス