0

DotNetOpenAuthライブラリを使用してサービスをデプロイしました。

このサービスは、4つのプロバイダー(Google、Yahoo、Windows、Facebook)に対して認証されます。

WindowsとFacebook(Oauthプロトコル)に問題があります

私のサービスは、どのブラウザからでもアクセスできます。選択後、正しいプロバイダーにリダイレクトし、認証して、電子メールアドレスで返信します。

ただし、モバイルデバイスを介してアクセスした場合、サービスは機能しません。モバイルを使用して、Windows / Facebookを選択すると、ログインページにリダイレクトされます。クレデンシャルを入力した後、サービスは返されますが、URLをリダイレクトするとページが見つかりません。

リダイレクトされるURLは次のようになります:http://mydomain.com/facebook.aspx?code = a_very_long_string

そのページがAndroid携帯のブラウザに見つからないというメッセージが表示されます。デスクトップ/ラップトップ(Windows 7)のブラウザーからアクセスした場合、同じコードが正常に機能します。

携帯電話でサービスを利用するために何か足りないものがあれば教えてください

4

1 に答える 1

0

私はこの問題を解決することができます。カスタムリダイレクトを行う前に server.Urlencode() .Net 関数を使用できないことがわかりました。

これを使用すると、モバイル プラットフォームでアプリが壊れます。それを削除すると、問題が修正され、URL が正常にリダイレクトされます。

認証が成功してURLをエンコードした後、カスタムリダイレクトを行っていました。しかし、それはアプリケーションを壊しているようです。

DotNetOpenAuth ライブラリの制限なのか、モバイル ブラウザの制限なのかは不明です。

于 2012-09-14T18:49:04.480 に答える