最近一直在搞grafana 嵌入到web应用(laravel写的)中,于是乎,看了一下它的登录,其实是想用grafana的user表,分享如下。
首先记录下,grafana 密码是如何校验的
grafana 密码加密:PBKDF2(password, salt, 10000, 50, sha256.new)
php pbkdf2加密: hash_pbkdf2 ( ‘sha256’ , string $password , string $salt , 10000, 100);(不知道为啥第五个参数长度是100 就与 grafana的密码加密方式匹配成功的)

参考 这篇文章 修改了laravel登录方式

 public function validateCredentials(Authenticatable $user, array $credentials){$plain = $credentials['password']; // 输入的密码$authPassword = $user->getAuthPassword(); // DB中的密码和salt$inputPwd = grafana_PBKDF2($plain, $authPassword['salt']);$isValidate = ($inputPwd == $authPassword['password']);// 设置cookie$user->setGrafanaCookie();return $isValidate;}
  1. 先看路由pkg/api/api.go
  2. 目录pkg/api/login.go
  3. 分析设置cookie 这一块,看的相当难受(对于第一次接触go的我)

    这一块儿, 设置cookie, 遇到了个坑, 在PHP 中找到了
    openssl_encrypt($hash, 'aes-256-gcm', $Key, OPENSSL_RAW_DATA, $IV = random_bytes(16), $Tag, '', 16) . $IV . $Tag; 这个,但是不会用啊, 还请各位大佬指导

参考链接有:
https://github.com/hprose/hprose-golang/issues/31
https://stackoverflow.com/questions/52599885/aes-256-gcm-decryption-from-php-to-golang
https://github.com/Spomky-Labs/php-aes-gcm

记录 grafana登录 从 go 迁移到 php相关推荐

  1. mysql userstat_mysql 中记录用户登录错误日志方法小结

    如何myql server 中,记录用户登录失败的次数,也是很重要的,在mysql 5.x系列中,暂时可以通过配置文件中my.ini设置的方法进行设置,小结如下: 1 general_log_file ...

  2. api可以主动采集用户数据吗_现在的前端框架全是通过API获得数据,如何记录用户登录状态?...

    很多答案都提到了 JWT.Session.Cookie,但是我发现常常有人混淆这三个概念.或者说不同的语境下大家对 Session 会有不同的理解. 首先这三个名词表示的是三个纬度的东西,不能简单地说 ...

  3. java记录登陆时间_Spring security如何实现记录用户登录时间功能

    一.原理分析 spring security提供了一个接口 AuthenticationSuccessHandler,该接口中只有一个方法,用来进行登录成功后的操作 public interface ...

  4. grafana登录密码重置

    grafana登录密码重置 [root@host-47-98-97-124 ~]# sqlite3 /var/lib/grafana/grafana.db SQLite version 3.7.17 ...

  5. NLP竞赛参与打卡记录:汽车领域多语种迁移学习挑战赛

    NLP竞赛参与打卡记录:汽车领域多语种迁移学习挑战赛 本博客为Coggle 30 Days of ML(22年7月)竞赛打卡活动记录页面,会记录本人的打卡内容.活动链接为:活动链接 任务1:比赛报名 ...

  6. Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)

    Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=168& ...

  7. C#开发Winform记录用户登录状态的方法

    首先创建一个用于记录用户登录状态,比如保存帐号,登录时间.使用公共静态属性定义LoginInfo CurrentUser. 该属性返回自己类的实例.在其它模块调用时使用LoginInfo.Curren ...

  8. Windows Server查看和记录远程登录信息的方法

    前两天我的一台Windows Server 2012R2的服务器中了传说中的cryptowall病毒,所有数据文件都被加密,需要我支付1个比特币才能解码.幸好服务器上没什么重要的文件,还好我没钱,我选 ...

  9. grafana登录失败无法从cookie中获取用户信息

    背景 grafana从版本6.3升级到7.2.1,通过chrome浏览器无法登录,需要清除浏览器缓存会话才可以正常登录,这样用户体验并不好,不可能使得所有用户都要在登录前都清除一下浏览器缓存会话. c ...

最新文章

  1. 怎么自定义linux登录界面?
  2. 处理项目重大质量问题的思路和原则
  3. Linux下crontab(自动重启)的格式备忘
  4. JBPM学习笔记(1)
  5. yii2笔记: 单元测试
  6. Python __subclasses__() 函数获取类的所有子类
  7. 京东总部大厦已经完成5G信号覆盖 网速是4G的20倍!
  8. Vue中登陆超时,返回登陆页面
  9. 方法 手写promise_实现一个符合 Promise/A+规范的 Promise(typescript 版)
  10. python世界你好_“你好,世界Python教程
  11. PHP连接MYSQL没有反应
  12. 乞讨式的助人为乐不该提倡,换下铺被拒的律师是自作自受
  13. 关于Oracle SQL中系统时间和库里数据时间的比较
  14. 谷歌浏览器设置默认搜索引擎
  15. MOOC中国接受《环球时报》英文版专访:MOOC证书对求职有用吗?
  16. Excel简单函数运用
  17. Cadence的版图绘制、DRC、LVS、PEX-以反相器为例
  18. mac安装MongoDB与启动
  19. 南阳题目364-田忌赛马
  20. 《2019全国互联网行业程序员就业报告》出炉,程序员平均月薪为1.8W

热门文章

  1. 成功解决xgboost\core.py, ValueError: feature_names may not contain [, ] or
  2. 角点检测——发现图像的特征
  3. web模拟telnet
  4. git错误fatal: remote origin already exists.
  5. codeforces 808 E. Selling Souvenirs (dp+二分+思维)
  6. 实验一个最小的PYTHON服务器编程
  7. html5media.js 让浏览器兼容VideoAudio 标签
  8. 介绍Visual Studio的Android模拟器
  9. form中onsubmit的使用
  10. 三种SQL分页查询的存储过程