3

因此,我已经成功地为 Google 登录实现了 Xamarin.Auth,并以此为指导:

https://github.com/xamarin/Xamarin.Auth

现在,尝试为 LinkedIn 实现同样的事情,由于某种原因,自定义 URL 拦截器(用于深度链接)没有捕获重定向 URI?

我已将“ https://www.linkedin.com/oauth-success ”设置为我在linkedin 的应用程序控制台上的重定向URI,并将其用于Xamarin.Auth 的身份验证器。它成功打开了本机 UI 浏览器并加载了 LinkedIn 登录页面,但是一旦用户登录,他们就会留在 LinkedIn 网站上,而不是路由回应用程序。

这是我的自定义 url 方案拦截器代码:

    [Activity(Label = "ActivityCustomUrlSchemeInterceptor")]
[
    IntentFilter
    (
        actions: new[] { Intent.ActionView },
        Categories = new[]
                {
                    Intent.CategoryDefault,
                    Intent.CategoryBrowsable
                },
        DataSchemes = new[]
                {
                    "Sybrin.Mobile.OnBoarding.Droid.Sybrin.Mobile.OnBoarding.Droid",
                    "com.googleusercontent.apps.649780690715-0kajj7q0kgf40mc2fpct709cehgnei16",
                    "xamarin-auth",
                    "https://localhost",
                    "https",

                },
        DataHosts = new[]
        {
            "localhost",
            "authorize",
            "www.linkedin.com"
        },
        DataPaths = new[]
        {
            "/oauth2redirect",
            "/oauth-success"
        },
        AutoVerify = true
    )
]

有趣的是,当意图过滤器是这样时,谷歌的深层链接会中断,但是当我注释掉 DataHosts 时,谷歌在登录后成功地路由回应用程序。

我希望我已经清楚了。任何帮助将不胜感激。

4

0 回答 0