下午好,我正在使用 Angular 在 ionic 中创建一个应用程序,目前它处理两种连接模式:如果用户可以访问互联网则连接,如果用户没有互联网访问则断开连接
目前我有一个功能,如果用户处于连接模式,他必须调用 API,否则他必须调用 SQLite 中的查询:
组件.example.ts
getUsers () {
this.dataLayer.getUsers().subscribe (...)
}
Run Code Online (Sandbox Code Playgroud)
数据访问层.ts
getUsers () {
if (this.connectionMode == 'online') {
this.httpcliente.post (...)
} else {
this.sqliteclient.query ("...")
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是实施此策略的最佳方法是什么,因为制定条件来验证连接是否是其中一种对我来说似乎不是最好的方法,或者可能使用枚举
enum AccessDataSqLite {
getUsers = "...",
getData = "...",
}
Run Code Online (Sandbox Code Playgroud)
如果您能给我发送参考资料、链接或实施该策略的更好方法,我将不胜感激
非常感谢
大家好,我目前有一个使用owin安全性的项目
当我尝试向/令牌发出请求时,得到了这个
在那里指定到期令牌为7199秒(2小时)
我一直在寻找该端点(路由),但没有喜欢 它/没有为其设置令牌或找到将其设置为2小时的地方(在整个解决方案中查找)
我发现的唯一内容是与刷新令牌(但没有过期令牌)相对应的此类,但此令牌设置为14400,但是当我再次发出请求时,令牌始终保持在该值
namespace Conarch.Providers
{
public class SimpleRefreshTokenProvider : IAuthenticationTokenProvider
{
public async Task CreateAsync(AuthenticationTokenCreateContext context)
{
var clientid = context.Ticket.Properties.Dictionary["as:client_id"];
context.Ticket.Properties.ExpiresUtc = DateTime.UtcNow.AddMinutes(Convert.ToDouble(12000));
if (string.IsNullOrEmpty(clientid))
{
return;
}
var refreshTokenId = Guid.NewGuid().ToString("n");
using (AuthRepository _repo = new AuthRepository())
{
var refreshTokenLifeTime = context.OwinContext.Get<string>("as:clientRefreshTokenLifeTime");
var token = new RefreshToken()
{
Id = Helper.GetHash(refreshTokenId),
ClientId = clientid,
Subject = context.Ticket.Identity.Name,
IssuedUtc = DateTime.UtcNow,
ExpiresUtc = DateTime.UtcNow.AddMinutes(Convert.ToDouble(refreshTokenLifeTime))
};
context.Ticket.Properties.IssuedUtc = …Run Code Online (Sandbox Code Playgroud) angular ×1
asp.net ×1
atom-editor ×1
c# ×1
database ×1
electron ×1
javascript ×1
node.js ×1
oauth ×1
owin ×1
proxy ×1
sqlite ×1
typescript ×1