c# - xamarin 表单中的自动登录
问题描述
我在 xamarin 表单中登录,并让用户可以在打开应用程序时自动登录。开发它的最佳方法是什么?有什么可以帮助我的例子吗?
非常感谢您的帮助
解决方案
你有一种方法来生成一个我推荐Guid的令牌
例如:
// Create and display the value of two GUIDs.
Guid g = Guid.NewGuid();
Console.WriteLine(g);
Console.WriteLine(Guid.NewGuid());
// This code example produces a result similar to the following:
// 0f8fad5b-d9cb-469f-a165-70867728950e
// 7c9e6679-7425-40de-944b-e07fc1f90ae7
然后您可以将其保存到“属性”或“首选项”
Preferences.Set("Token", g)//g = The token string;
Application.Current.Properties ["Token"] = g//Your Token Variable;
当应用程序启动时,您可以检查令牌是否存在。
if (Application.Current.Properties.ContainsKey("Token"))
{
var Token= Application.Current.Properties ["Token"] as string;
// do something with Token
}
if (Preferences.ContainsKey("Token ")){
var Token = Preferences.Get("Token ", "default_value");
}
您还可以将令牌保存到某种数据库,如 SQL、Sqlite、Firebase 等。
然后您可以与 var Token 进行比较,如果它们匹配则用户已登录。
现在问题很模糊,我们不知道您的登录用户是如何登录的,例如,如果它的火力基地,您会获得一个令牌来刷新内斯特提到的登录。
推荐阅读
- node.js - 意外的空对象模式 no-empty-pattern
- r - 在 R 包简历中编织 cv 模板时出现问题
- python - 请求被抓取后数据丢失
- javascript - 使用 JS 从 html 元素中删除类
- python - plotly express 更新饼图
- java - 如何将 mp3 分享到 WhatsApp?
- sql - 是为不同的商店创建不同的表更好,还是有一个带有列的表来指定哪个站点?
- flutter - 材质按钮未调用 post 方法功能
- angular - 大网格和大量使用 Spring / Angular / PrimeNG 的数据
- python - 如何使用 Python win32com 设置 Visio 页面大小?