gpt4 book ai didi

c# - 使用 Caliburn.Micro 在 Windows Phone 上进行 Facebook 身份验证回调

转载 作者:行者123 更新时间:2023-11-30 21:58:27 26 4
gpt4 key购买 nike

我正在 Caliburn.Micro 框架的帮助下开发 Windows Phone 应用程序。我正在尝试使用此 tutorial 实现 Facebook 登录.

ContinuationManager 给我带来了问题,因为它假定不使用 MVVM 模型并将整个代码保存在 View 后面的代码中。是否有一种干净的方法来恢复控制并将 WebAuthenticationBrokerContinuationEventArgs 传递给 LogInViewModel(而不是 LogInView),以便身份验证过程可以继续?

换句话说,我怎样才能使public async void ContinueWithWebAuthenticationBroker(WebAuthenticationBrokerContinuationEventArgs args) 方法在用户成功完成 Facebook 登录过程后在 LogInViewModel 中被调用?

最佳答案

有几种方法可以让这个工作,让我给你我的...

我需要与第 3 方建立 OAuth 连接,对于与该方的所有通信,我创建了一个 Service 类 - 这个类实现了 IWebAuthenticationContinuable 接口(interface)。换句话说,所有 API 调用都在那里,还有 ContinueWebAuthentication 方法。在 ContinueWebAuthentication 方法中,我调用了一个 Status 事件 - 这也在服务类中声明 - 以通知任何监听器有关 OAuth 处理的实际结果状态。

所以唯一剩下要做的就是在 ViewModel 中注册该事件,您将在其中启动 OAuth 流程并根据状态更改采取行动,以验证 OAuth 流程是否正常。启动实际的 OAuth 过程只需触发一个方法(在我的例子中是服务类上的方法 GetAccessToken() ),在这个方法中你启动 WebuthenticationBroker.AuthenticateAndContinue() 方法。

其他解决方案是使用 MVVM 消息传递而不是真实事件。但这只是语义。

关于c# - 使用 Caliburn.Micro 在 Windows Phone 上进行 Facebook 身份验证回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30098631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com