我正在构建一个新的通用Windows 10 UWP应用程序,并尝试做Facebook登录。Facebook登录 - Windows 10 UWP - 桌面
在Facebook上,我已经把我的应用程序的Windows应用程序部分有我的应用程序的标识:
的Windows:S-1-15-XXXXXXXXXXXX
的Windows Phone:fef49b712e5a843cbfeb0c9d780423fc(不实际一个)
在包清单文件,我已经添加的协议:
MSFT-fef49b712e5a843cbfeb 0c9d780423fc
这意味着我我redirect_uri
参数设置为:
MSFT-fef49b712e5a843cbfeb0c9d780423fc://授权
当手机上运行(与Windows 10移动预览)服务工程很好,它打开了手机上的Facebook应用程序(使用fbconnect://授权?.....),然后进行身份验证,然后打开我的应用程序备份 - 完美!
但是,当在桌面上尝试相同时,它不起作用。在我的Launcher.LaunchUriAsync()
被设置为具有标准Facebook网页对话框的回退Uri(https://www.facebook.com/dialog/oauth?....。) - 这是因为没有支持登录的Windows 10的Facebook应用程序。
通过发送相同的redirect_uri
到Facebook,它打开网页浏览器(边缘)并要求权限等,一旦授予权限,什么都不会发生。看起来好像协议处理不起作用。
任何想法都会有用。
谢谢,但这一般工作。但是,我确实失去了应用程序通用性的灵活性。我希望能够在手机和桌面上都能够使用某些东西 - 用户的最佳体验就是在应用中进行身份验证 - 这意味着我需要Launcher.LaunchUriAsync - 我认为没有办法为此使用WebAuthenticationBroker回退? –
'WebAuthenticationBroker'既适用于手机又适用于桌面,因此这将是一种选择,因为您不需要在手机上安装Fb。最好的体验如下:1)检查Facebook应用程序是否已安装(Win 10中现在有一个API),然后使用Fb登录或Web认证代理。 – sibbl
好的,这很有趣 - 不知道你可以检查是否安装了应用程序 - 你知道那是什么吗?如果我能做到这一点,那么你是正确的,'WebAuthenticationBroker'是 –