首页
学习
活动
专区
圈层
工具
发布

Go 项目开发实战-用户Token的刷新、踢人下线和防盗检测

即然有效期短那就得有合理的方式让用户的Token能够被刷新,不然用户使用产品期间隔一段时间就得登录一次,一天登录好几次,用户体验可想而知,定是不会好的。...为什么要有刷新Token 在我们的用户认证体系中,当用户登录成功后,在服务端存储以下的Token信息和用户会话信息 这里我们设计了两种Token:AccessToken以及RefreshToken,AccessToken...专门用户来接口请求中验证请求的用户身份,我们上面说过为了安全考虑它的时效比较短一般 0.5h ~ 2h,到期后客户端可以用RefreshToken来刷新获得新的Token信息。...RefreshToken的时效一般设的较长10 ~ 30天都可以,假设用户首次登录后过了几天再来使用应用,客户端仍能通过RefreshToken来刷新Token信息,用户在短期未使用产品的情况下仍能保持住登录态...除了上面这张用户登录的情况,当客户端进行Token信息的刷新时,这些Token字段也会更新并返回给客户端,也就是说刷新Token信息后除了AccessToken会更新外,RefreshToken也会刷新

19900
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    EasyCVR用户登录失败时,需要刷新页面才能重新登录的问题优化

    EasyCVR视频融合平台基于云边端一体化架构,可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理。...平台支持多种协议、多种类型的设备接入,对外可分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。...有用户反馈,在EasyCVR登录操作中,当用户登录时输入了错误的密码并进行了登录后,再次重新输入密码则无法进行登录,需要刷新页面才能再进行登录操作。如上图所示,登录按钮变暗并转圈,用户无法再进行点击。...随着AI、物联网、大数据、云计算、边缘计算等技术的快速发展与落地利用,EasyCVR平台也在积极融合AI智能识别技术,结合部署了多种AI算法的智能分析网关,可为多行业、多领域提供口罩识别、安全帽识别、人脸识别

    1.6K20

    Kingfisher源码阅读(一)

    Kingfisher是喵神写的一个异步下载和缓存图片的Swift库,github上将近3k的Star,相信不需要我再安利了。它的中文简介在这里,github地址在这里。...下面再看看这个kf_setImageWithResource方法,它是这个UIImageView+Kingfisher.swift里的核心方法,其他还有一些提供给用户使用的kf_setImageWithXXX...取得了options、targetCache和downloader之后,就要判断用户是否指定强制刷新,如果是则直接联网下载,否则先从缓存中取数据,若没有缓存再联网下载。...要是把提取缓存也封装成一个方法,然后在retrieveImageWithResource里调用,可能可读性更好一些: if options.forceRefresh { //若用户指定强制刷新则直接联网下载并缓存...Kingfisher.png 喵神是我第一个知道的iOS领域的大牛,我是从后端转iOS的嘛,之前看完苹果官方的《The Swift Programming Language》之后,就入手了喵神的《Swifter

    1.7K20

    揭秘 SwiftData 的数据建模原理

    SwiftData 与 Swift 语言紧密关联,是 Swift 语言的先导者 近年来,苹果推出了多个以 Swift 为前缀的框架,例如 SwiftUI、Swift Charts、SwiftData 等...这种命名方式体现了这些框架与 Swift 语言的紧密结合。为了实现这些框架,苹果还积极推动 Swift 语言的发展,提出新的提案,并在框架中预先应用了尚未完全确定的特性。...Item { // 用户定义的持久化属性 public var timestamp: Date = Date.now { // 构造器访问器,在构造实例的过程中,为计算属性添加构造能力...其中,name 对应数据模型的 Attribute Name,keypath 为当前类型对应属性的 KeyPath,defaultValue对应属性在声明中设置的默认值(没有默认值,为 nil ),而...请注意,使用上述的 set 方法(例如:setValue)给属性设置新的值将会绕过 Observation 框架,属性订阅者将无法得到属性发生变化的通知(视图不会自动刷新)。

    67720

    实现 iOS 无感知上拉加载更多

    什么是无感知上拉加载更多 什么是无感知,这个这样理解:在网络情况正常的情况下,用户对列表进行连续的上拉时,该列表可以无卡顿不停出现新的数据。...SwiftCoinRankListController.swift 文件查看具体的逻辑,其主要就是通过 cell 显示的个数去提前请求加载数据,然后我们看看效果: ?...网上的思路(二) 然后在继续的搜索中,我看到了另外一个方案: 很多时候我们上拉刷新需要提前加载新数据,这时候利用 MJRefreshAutoFooter 的属性 triggerAutomaticallyRefreshPercent...就可以实现,该属性 triggerAutomaticallyRefreshPercent 默认值为 1,然后改成 0 的话划到底部就会自动刷新,改成 -1 的话,在快划到底部 44px 的时候就会自动刷新...使用 MJRefreshAutoFooter,这个简单,我直接把基类的 footer 给替换掉就可以了,本代码可以在开源项目中的 BaseTableViewController.swift 文件查看:

    2.8K40

    肘子的 Swift 周报 #058| 运气眷顾耐心的人

    前一期内容|全部周报列表 原创 理解 SwiftUI 的视图刷新机制:从 TimelineView 刷新问题谈起[3] Fatbobman(东坡肘子)[4] 在 SwiftUI 中,视图的自动刷新机制让我们能够轻松构建响应式的用户界面...但有时,视图可能并不会按照我们的预期进行更新。本文将通过一个看似简单但颇具代表性的TimelineView刷新问题,探讨 SwiftUI 的视图刷新机制。...,它们已成为用户获取实时动态信息的一种流行方式。...Swift 并发提案索引 (Swift Concurrency Proposal Index)[17] Quinn Swift 并发机制是 Swift 语言中的重要组成部分,也是一个复杂而广泛的领域。...] 理解 SwiftUI 的视图刷新机制:从 TimelineView 刷新问题谈起:https://t.ly/BTLU0 [4] Fatbobman(东坡肘子):https://x.com/fatbobman

    25300

    iPhone 15 系列跌破 5000 元大关 | Swift 周报 issue 46

    该提案已在 四十二期周报 正在审查的提案模块做了详细介绍。Swift论坛1) 提议字符串插值的默认值内容概括该提案建议向 Swift 添加一项新功能,以解决涉及可选值的字符串插值的挑战。...目前,当在字符串中插入可选值时,开发人员面临警告和提供默认值的选项有限的问题。 所提出的解决方案建议引入新的字符串插值重载,该重载允许开发人员指定默认字符串,而不管可选值的类型如何。...介绍Pitch 建议在插入可选值时使用新的默认值字符串插入语法。动机字符串插值很强大,但在处理可选值时会变得复杂。当前的解决方案在处理可选值时涉及繁琐的代码或不需要的输出。...例子演示插入可选字符串和可选整数时的挑战。当前的解决方案涉及笨拙的代码或零合并运算符的限制。建议的解决方案引入新的插值重载,允许将预期默认值指定为字符串,而不管值的类型如何。...ElasticSearch 与 Swift 集成摘要: 本篇博客详细介绍了 Elasticsearch 与 Swift 的集成,旨在帮助开发者将强大的搜索引擎功能整合到 Swift 应用程序中,提升用户体验

    36732

    SwiftUI 与 Core Data —— 安全地响应数据

    例如,当你创建一个带有字符串属性的新对象时,初始值( 在没有默认值的情况下 )是 nil,这在对象被验证之前( 通常在 save 时 )是没有问题的。...修改为 String )当声明代码可以部分改善在视图中使用托管对象的友善度。相较于将具有默认值的属性声明为可选值类型( 例如 String ),数值属性的声明则更加令人困惑。...之所以出现上述的情况,是因为 Xcode 中模型编辑器中的 optional 并非对应 Swift 语言中的可选值。...在删除数据后,即使 item 的内容发生了变化,也并不会引发该行声明语句( Text )刷新,从而不会出现强制解包失败的情况。...,如此一来会让用户感到疑惑。

    4.1K20

    iOS_SwiftUI_iOS14_Widget

    ,即长按出现的菜单是否有编辑选项(如股票的widget,用户可以选择显示哪只股票) Embed in Application:(表示该widget是哪个target的附属品,如果workspace里有个...entry的时间后,请求新的Timeline after(Date): 在给定的时间之后请求 never: 不要自动请求 注:其实具体什么时候刷新,还是系统结合实际情况触发该方法(太频繁的刷新会被限制)...} ---- 6、Updating 6.1、Timeline的刷新 如上:2.3 6.2、手动刷新 我们可以在主App里触发刷新widget。...swift文件里刷新 import WidgetKit // 导入WidgetKit WidgetCenter.shared.reloadAllTimelines() // 刷新所有的widget WidgetCenter.shared.reloadTimelines...(ofKind: "MOWidget") // 刷新指定的widget 、OC文件里刷新 会比较麻烦:还是需要利用swift文件,加上一堆判断后调用刷新方法。

    2.8K20

    小程序cloudbase之管理员发布二维码,登录用户实时获二维码(携带每个用户的openid、用户信息),管理员通过扫描来重新入库筛选已领取的用户(用户的二维码每一段时间刷新一次)

    需求背景 现在某大学要举办一个活动,每个人只能进入一次,并且二维码要隔一段时间一刷新,并且不能使用别人的名额,参加的用户要记录下来。...用户进入自己的二维码渲染列表页面,此时利用前端的生命周期钩子函数触发,在获取本机登录用户的信息的情况下,去访问GLY_Two_dimensional_code数据库中管理员发布的二维码参数。...用户点击二维码列表中的每一条时,通过获取用户点击获取到该条数据的_id,并携带该_id跳转到用户二维码展示页面。...数据库中管理员最新发布的一条二维码参数结合获取到的本机登录的用户信息一起填写到该二维码中,生成一个临时二维码路径(每次刷新二维码的显示形状改变,单携带的参数不变,这样解决了用户所谓的"卡物理bug")。...,获取到二维码中携带的用户的openid及其他用户信息,并获取到。

    34630

    我常用的iOS开源库

    前言 OC库和Swift库相似功能的很多 选择的建议是:如果OC库在Swift中完全能用 就优先用OC库 原因是:Swift语言还是不太稳定 语言一更新 程序一大改 实在是太痛苦了 菜单相关 语言 项目名称...转JSON Swift Alamofire-SwiftyJSON 方便以上两个组件的结合使用 Swift ObjectMapper JSON与对象互转 Swift Transporter 文件下载 ObjectC...音频 语言 项目名称 项目说明 ObjectC VoiceConvert iOS音频文件转换 amr-wav 搜索页面 语言 项目名称 项目说明 ObjectC PYSearch 搜索带热点词 下拉刷新...语言 项目名称 项目说明 ObjectC MJRefresh 下拉刷新 ObjectC ODRefreshControl 下拉刷新 Swift ZJRefreshControl 下拉刷新-加载更多...Autolayout Swift SnapKit Autolayout(Masonry的swift版) 数据库 语言 项目名称 项目说明 ObjectC WHC_ModelSqliteKit Sqlite

    3.3K54

    Swift 5.2 给下标设置默认值

    设置默认值的特性非常有用,能够极大的增加接口函数的功能性,同时又可以使得一些使用默认参数的接口非常简便。 ?...default subscript value Swift 中给函数参数设置默认值比如: func registerByPhone(number: String, mobileArea: Int = 86...但是在Swift 5.2 之前,下标值是不支持设置默认值的,比如这个带有自定义下标的Grid示例: struct Grid { let items : [[GridItem]] subscript...如上的下标将按以下方式使用: let item = grid[x: 10, y: 2] 这个示例在Swift 5.1和Swift的早期版本中可以正常工作。...这意味着您可以按示例这样使用下标: let item = grid[y: 2] 这将自动为x参数调用默认值为0的下标,这个和函数的默认参数的表现形式一致。

    2.2K20
    领券