-
ID:r6muW5 さんの質問

Twitterアカウントを使ってログインできるWebサイトを作っています。
最近、Twitter for iPhoneのアプリ内ブラウザからサイトにログインしようとしたらアプリケーションの連携画面でユーザーIDとパスワードを入力して認証ボタンを押した段階でアプリ内ブラウザが勝手に終了し、@sessionsという存在しないアカウントに勝手に飛ばされて結果的にログインできなくなっています。

なので、Twitter for iPhoneからアクセスがあった際にログインボタン(アプリケーションの連携画面へのリンク)をクリックしたらiPhoneのSafariに切り替わり表示していたページを表示してくれるリンクを付けてユーザーを誘導しようとしているのですが、どういう方法で実装すればいいのか分からず困っています。
URLスキームを使えばいいのではないかと思い、<a href="safari://http://example.com/">このページをSafariで開く</a>というふうにしてみたのですがどうも違うようで、上手く動いてくれません。

現在のところはページの一番上に「ログイン出来ない場合はSafariで開いて下さい」と案内を表示しているのですが、ログインボタンを押したら自動的にSafariに切り替わってくれるようにした方が分かりやすくて良さそうなので…

みんなの回答 3 件

ID:LB9Wiy さんの回答

難易度★★★★★
仙人向け。

ID:7aDc40 さんの回答

oAuthのことと思いきや、なんかよくわからないことをおっしゃってるな。
あくまで親切心で進言するが、文面から察するにトピ主には難しいと思うぞ。

ID:i7Bmc5 さんの回答

  • Twitterアカウントを使ってログインできるWebサイトを作った
  • TwitterにそのWebサイトのURLをツイートした
  • ツイートしたURLをiPadのTwitter公式アプリからタップすると、Safariではなく、Twitter公式アプリ内蔵のブラウザで開いてしまう
  • アプリ内蔵ブラウザだとOAuth認証がうまくいかない
  • 強制的にSafariで開くためのリンクを作れないか?

ってことだろ。これぐらい誰かエスパーしてやれよ。

で、結論から言うと、そんなことはできない。
それができてしまうと、悪意を持ったWebサイトがユーザーに任意のアプリを開かせることができてしまう(≒脆弱性になる可能性がある)。
諦めて現状の対応で我慢するか、どうにかして内蔵ブラウザでも認証できるようにするしかないかと。

ID:i7Bmc5

タイポ
× iPad
○ iPhone

最終更新日:2014-07-07 (3,261 views)

関連するトピックス

ページ上部に戻る