因此,我已经成功地为 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 时,谷歌在登录后成功地路由回应用程序。
我希望我已经清楚了。任何帮助将不胜感激。