C# Oauth使用Windows Phone在Asp web api上登录Facebook(WebView错误)

C# Oauth使用Windows Phone在Asp web api上登录Facebook(WebView错误),c#,facebook,api,oauth,windows-phone-8.1,C#,Facebook,Api,Oauth,Windows Phone 8.1,我正在尝试使用facebook登录来实现web api。我还在做一个windows phone应用程序来测试我的api 当用户启动我的应用程序时,我会下载可用的外部提供商列表(MYURL/api/Account/ExternalLogins),然后当用户要求使用facebook帐户登录时,我会使用网页视图导航到一个新页面,并显示facebook登录url public sealed partial class ExternalLoginView : Page { public Exter

我正在尝试使用facebook登录来实现web api。我还在做一个windows phone应用程序来测试我的api

当用户启动我的应用程序时,我会下载可用的外部提供商列表(MYURL/api/Account/ExternalLogins),然后当用户要求使用facebook帐户登录时,我会使用网页视图导航到一个新页面,并显示facebook登录url

public sealed partial class ExternalLoginView : Page
{
    public ExternalLoginView()
    {
        this.InitializeComponent();

    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        HttpClient client = new HttpClient();
        var url = e.Parameter?.ToString();
        WebView.Source = new Uri(url, UriKind.Absolute);
        WebView.NavigationStarting +=  (sender, args) =>
        {
            Debug.WriteLine(WebUtility.UrlDecode(args.Uri.ToString()));
        };
    }
}
facebook表单显示正确,我可以输入我的邮件和密码登录我的facebook帐户,然后facebook询问我的应用程序是否可以访问我的个人信息。

如果我单击“确定”我的网络视图在空白页面上导航,并且从不在我的API上重定向我的。 我试着从我的电脑(Chrome)访问外部登录url,它工作正常(我在API上被重定向)。 我还尝试在我的windows phone上使用启动器,所有的登录过程和API上的重定向都可以工作,但是在这个过程之后我无法重新打开我的应用程序,所以我不能使用这个解决方案

我记录了我的web浏览器导航的所有uri,我得到以下信息:

localhost:10613//api/Account/ExternalLogin?provider=Facebook&response\u type=token&client\u id=self&redirect\u uri=localhost:10613/&state=1PYsWI12LOgHm3cBqEEVGxL2dloXI50iG02Pf-vwT0c1

/www.facebook.com/dialog/oauth?response\u type=code&client\u id=15449099165726&redirect\u uri=localhost:10613/sign facebook&scope=&state=1xamcjxrzv9upptfmebrmutjytk-ydreb71mrz7bu5msnfj66i4exqznp8qtwiz82p7uqs3vr6iggaowpkay5biimegvtor4f6zvkngqcy-29ju0efh8bifgnqu9dxzn5ugkp4yhi-x6m8m8a8cx8f8f8f8f8feqcfg8x2eug2eu-yx2uEU1B5V0AJCF61RKI8WEBNZJM8EAILJH472NUGDECGMKP76ZVNW7ANSJT5JDGHHRKRE5Y7O3U-NRKYZHPXXX-Xf0WENJ9H-AaUW4FGAv-M7V6KNS3LC4G5FFB9HRDYIIIID5E6ZYA-cDBKR7-AWVZZ6DOQBNDAZM6RS28WJ-pSQSUYd065vXntD\U HUMST 5KTD5KTD5TDSA7QUUSEEV7V6K8XQQQQ8X30K8K8KK8KKKK8KKKKKKK8KKKKKKKK4GCSLA

m、 facebook.com/v2.5/dialog/oauth?redirect_uri=localhost:10613/登录facebook&state=1xamcjxrzv9upptfmebermutjytk-ydreb71mrz7bu5msnfj66i4exqznp8qtwiz82p67uqs3vr6iggaowpka0y5biimefcgvtor4f6zv6zvkngqcy-29ju0efh8bifgqqg9dx7dxbdeszn5ugkp4yhi-xd8cx8cx8cx8cx8cx8cx3cey7ceyqf7eqbi-gort8x8c8jjjjjjj2eug8c2f8jjjjjjjjjjjjjjjjjjj2peg8g8g8g8g8jjjj27ansJt5jdGhHRkRE5Y7O3U-NRVIvkYZHPxxx-Xf0WENyJ9h-AaUW4FGAv-M7V6KNS3LC4G5FFB9HRDYID5E6ZYA-cDBKR7(AWVZS6DOQBNDAZM6MS28Q3VNWJ-pSQSUYd065vXntD)HUMST 5KTDSA7QUUSE3R4G3E80QNHQGKPW7LGEVQS6HF6VX8XB2U0K4F4SLA和范围与响应类型=代码与客户号=15499726

m、 facebook.com/v2.5/dialog/oauth/read

我不明白最后的导航,facebook应该在我的api上重定向我,但我完成了这个uri:。 为什么它使用windows phone Internet explorer(启动器)而不是在网络视图中工作

对不起,我的英语不好。 谢谢
Marc

您能使用
WebAuthenticationBroker.AuthenticationAsync
吗?谢谢您的回答!我想我不能使用这种方法,因为我的手机应用程序没有直接调用oauth服务,我调用了我的服务器(API),我被重定向到facebook(或其他提供商)页面。