【问题标题】:Xamarin.Forms Session ManagementXamarin.Forms 会话管理
【发布时间】:2017-07-24 09:16:03
【问题描述】:

我正在尝试使用 Xamarin.Forms 开发一个虚拟应用程序,我主要关注 UWP。 我有这个应用程序的登录功能,我需要管理会话。我正在使用基本的 Web 服务方法进行登录,它获取用户名和密码作为参数并返回访问令牌。我正在将此访问令牌用于此应用程序的 CRUD 操作。这就是我存储此访问令牌的方式。

Application.Current.Properties ["access_token"] = token.access_token;

因为我是 Xamarin 的新手,所以我很难理解会话管理。我将如何管理会话?会话何时到期以及如何到期?可能是什么安全问题?如何正确注销用户?

任何帮助将不胜感激。

【问题讨论】:

    标签: c# session xamarin xamarin.forms session-management


    【解决方案1】:

    您可以使用Settings Plugin for Xamarin And Windows

    此插件将特定属性直接保存到每个平台的原生设置 API(NSUserDefaults、SharedPreferences 等)。这确保了每个应用程序最快、最安全和最可靠的创建和编辑设置。此外,它适用于任何 Xamarin 应用程序,而不仅仅是 Xamarin.Forms。

    从 Nuget 使用它 - Settings Plugin for Xamarin and Windows 3.0.1

    查找文档here

    private static ISettings AppSettings =>
        CrossSettings.Current;
    
    public static string AccessToken
    {
      get => AppSettings.GetValueOrDefault(nameof(AccessToken), string.Empty); 
      set => AppSettings.AddOrUpdateValue(nameof(AccessToken), value); 
    }
    

    会话在服务器而不是客户端进行管理。您将获得一个过期时间,可能还有来自服务器的刷新令牌 URL。您可以使令牌过期并在过期时间过后将其删除。

    【讨论】:

    • 感谢您的回答,但我想知道移动应用程序的会话管理逻辑。
    • 会话管理是服务器的职责,而不是客户端。客户端只使用会话,只要它在服务器中有效。
    • 这里的答案只涉及令牌的存储。移动应用程序需要管理会话状态、刷新令牌或在令牌过期时注销用户。
    • 我认为这不是 OP 问题或范围的一部分。如果您有其他问题,请发布一个。
    猜你喜欢
    • 2014-09-21
    • 2011-04-03
    • 1970-01-01
    • 2012-10-11
    • 2011-04-29
    • 2011-10-22
    • 2011-08-01
    • 2012-11-12
    • 2014-06-19
    相关资源
    最近更新 更多