首页 > 其他分享 >关于新版本 tidb dashboard API 调用说明

关于新版本 tidb dashboard API 调用说明

时间:2024-09-14 16:55:02浏览次数:3  
标签:API api dashboard tidb login password 2399

作者: WalterWj


背景

tidb 新版本增加了对登陆密码进行非对称加密的的步骤。

token 的获取可以参考登录界面的登录流程:

  1. 通过 api 获取 /api/user/login_info 获取公钥等信息
  2. 通过 api /api/user/login 进行登录,payload 为 username 和 password,如果第一步存在公钥,则需要使用公钥对 password 进行加密

参考代码:

https://github.com/pingcap/tidb-dashboard/blob/master/ui/packages/tidb-dashboard-for-op/public/test-portal/index.html



操作

这里启动一个本地的 7.1.5 的 tidb 集群,pd 端口为 2399。数据库登录账号/密码:root/tidb@123



获取 login info

curl http://127.0.0.1:2399/dashboard/api/user/login_info

{"supported_auth_types":[0,1],"sql_auth_public_key":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvn9fJETVZeV1oYF5YzAQMNR4x3+8pUMtYmy7DNtSocIPuph76qW+0jaRhrbE7nJi2/51jzkp97cyaZGruPsdQogK5agsRlOirPTUPabJOmaLKW0WtLRzaH/Is1hkAqskdTAUVHK3cO0B7AMLPMjopDHMNSIGFlqtG9u+v2YNyFTRvVH/KqyAHFfwYxNHOeiV0i4rdAMi0hHmt3p7cWeOkQlyJvUATT8zh7fgljTzrMnyd0TLMgpRUFBbwXY4vdcz1YvwwPLAqoEjCzqOYn+xYg5euf84z91N6mCUBkpR0/nUcwLlgRUSnlbhMo+6Agsq9lJ37D0A9Yw5hjoRhetd4wIDAQAB"}



加密 public key

这里输入密码即可。注意结果换行去掉。

echo -n "tidb@123" | openssl rsautl -encrypt -pubin -inkey <(echo -e "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvn9fJETVZeV1oYF5YzAQMNR4x3+8pUMtYmy7DNtSocIPuph76qW+0jaRhrbE7nJi2/51jzkp97cyaZGruPsdQogK5agsRlOirPTUPabJOmaLKW0WtLRzaH/Is1hkAqskdTAUVHK3cO0B7AMLPMjopDHMNSIGFlqtG9u+v2YNyFTRvVH/KqyAHFfwYxNHOeiV0i4rdAMi0hHmt3p7cWeOkQlyJvUATT8zh7fgljTzrMnyd0TLMgpRUFBbwXY4vdcz1YvwwPLAqoEjCzqOYn+xYg5euf84z91N6mCUBkpR0/nUcwLlgRUSnlbhMo+6Agsq9lJ37D0A9Yw5hjoRhetd4wIDAQAB\n-----END PUBLIC KEY-----") -out encrypted_password.bin

base64 encrypted_password.bin
ORzuvWIQi4veJkIdMDEC7zehtKQP9pV5cOE8WCpAM6siy+dWkJYVUwIQYythVIHqByZU9X+kS7sx
tBY+HIbiesAhUDB5Nr98fmz7ZiYS2x/pGAqzT0Xvi6UzH89ESxf4fev+Mx0TOu+TE/oqtLNIFXus
CDG1EbPACMke7KgOtsUSZhwbIQrsAdesezSkqec4Uif8FNvtgi7Uv4JU2T56rqF41moTcHZzDuMa
KzD6fqWfJ9YOGFzxr1ZJrPZKu1hyw4SZ1IeI9QGiBwkYEJolhVyFypmbkUtSaHzc4trePQ3TNGT3
v6nKepiZ+xyXYPpK8BKPG6JKcYCR6pR8wrahLg==



获取 token

使用加密后的 password 来登录

curl -X POST "http://127.0.0.1:2399/dashboard/api/user/login" \
>      -H "Content-Type: application/json" \
>      -d '{"username": "root", "password": "ORzuvWIQi4veJkIdMDEC7zehtKQP9pV5cOE8WCpAM6siy+dWkJYVUwIQYythVIHqByZU9X+kS7sxtBY+HIbiesAhUDB5Nr98fmz7ZiYS2x/pGAqzT0Xvi6UzH89ESxf4fev+Mx0TOu+TE/oqtLNIFXusCDG1EbPACMke7KgOtsUSZhwbIQrsAdesezSkqec4Uif8FNvtgi7Uv4JU2T56rqF41moTcHZzDuMaKzD6fqWfJ9YOGFzxr1ZJrPZKu1hyw4SZ1IeI9QGiBwkYEJolhVyFypmbkUtSaHzc4trePQ3TNGT3v6nKepiZ+xyXYPpK8BKPG6JKcYCR6pR8wrahLg=="}'
{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjYxMDc1NzEsIm9yaWdfaWF0IjoxNzI2MDIxMTcxLCJwIjoiaHVpeHFkS3JGbTdFMlQ5NVVidEhsNGgvZkd5cmRGYk9DOWxKbERRRzVEak51V3VaK25XVW1ndlNtMkJvZTN1dFI5UnFXZnl0WEpYSTlRQjBiRGtrNS9DZllsSjlFVCtHK3hTQ2F3SVNaUGs5ZHRnRVpmQW9YTG1UaGFDKzcwNU5KZy9pYmtHTitJL3Z4L3ZpVWlQcmhrSWZvTGppcW9SMFRhZnJTUjRGbTRQWlJRcy9ETzJZaTNSKzhrbDlBaERBSC9EeG42TDZrNDdpRXcrNVRTYk1vZEFTUU5yZTkvaUpPb1ltb3pQemVDWkFzeGhwdGg0RW56WmQ5RjA1d3NaZFlUbURyWEJhbDl6N0duVEp3aFdwWStFQlorRjY3dz09In0.zXTjUJASXpJPR8W1-q6KIvrIVBz3TizCs3xNQhmmO5w","expire":"2024-09-12T10:19:31.604370383+08:00"}



调用 API

这里需要使用获取的 token

curl -X GET "http://127.0.0.1:2399/dashboard/api/slow_query/list" \
     -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjYxMDcwOTAsIm9yaWdfaWF0IjoxNzI2MDIwNjkwLCJwIjoiMC9ZdTFGSC80aEZkckdxZWFSa0hTTVJQQU5DU2EyNjFCUENsd2ZsVFd4MmViMGlGTHlzZEhOQXNIbEJhMW5oK2VraVBPa2Fld2R5SElZMkZEakxIeGFBSzZuQnQ2dXRJWDA1ZkNncjVjd1hNdXNRL2hmWERSVGNLZXVobDRVMWUrTWxFMjByQmtBTmx3Y0hHZ2lzZmJsVWFNVFo1ZU9ma1RhZ1hQbGd0UEh5MGpiT1MzTWVWZ1VJWjBsdkM1eU0xOHZyTk9mZDBYT2crdTBWYUw4VzVENzNmL2Z0eWJYUnJyN3M2OXkrdU5GcXZJa0RxUDR0UnUwYktWb0VQWmpaTitvTGd6VmE2R3BYc01iS3hYYUdxS1drdFROa0NkZz09In0.eJKmiR04jKRUOIu-rzHsjlIr-yX5VPpmMgAw7LeTr6A"

标签:API,api,dashboard,tidb,login,password,2399
From: https://blog.51cto.com/tidb/12017912

相关文章

  • TiDB在 G7 的实践和未来
    背景2010年,G7正式为物流运输行业提供面向车队管理的SaaS服务,经过持续创新,通过软硬一体化的产品技术能力,致力于数字化每一辆货车,以实时感知技术创造智慧物流新生态。G7为客户提供全方位的数据服务、智能的安全和运营管理、手机管车、数字运力、以及ETC、油和金融等增值服务。目前,G......
  • 几张图带你了解TiDB架构演进
    作者:ShawnYan历时四个月,恭喜赵老师的《TiDB从0到1》系列文章顺利完结,小编再次梳理一遍文稿,并附注解分享给大家。整体架构从TiDB1.0到8.0,TiDB的体系结构一直在不断演进。接下来让我们一起看看整体架构的变化。TiDBv1TiDBv1,主核心框架已定,TiDB由TiDBServer,TiKVSer......
  • How to Add a Built-in Function to TiDB Using a Cursor in 20 Minutes
    作者:ngautInthistutorial,we’llwalkyouthroughthestepstoaddaflexiblebuilt-infunctiontoTiDBthatleveragesLLMtoprocessdata.We’llusetheAI_PROCESSfunctionasanexample,whichtakestwoparameters:adatastringandatask_description......
  • 笔试常用api
    常用apiArrayList:List接口publicbooleanadd(Ee):将指定的元素添加到此集合的尾部。publicbooleanaddAll(collection对象):将collection的对象加入到publicEremove(intindex):移除此集合中指定位置上的元素。返回被删除的元素。publicEget(intindex):返回此集......
  • src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没有那个文件或目录
    (venv)shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$pipinstallpyaudiosounddeviceCollectingpyaudioDownloadingPyAudio-0.2.14.tar.gz(47kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━47.1/47.1k......
  • API架构图解:如何以图表形式展现复杂系统
    在展现复杂系统的API架构时,可以使用以下几种图表形式:一、流程图流程图可以清晰地展示API在复杂系统中的调用流程和数据流向。首先,确定系统中的主要组件和API接口。用不同形状的图形表示不同的组件,如矩形表示服务器、圆形表示客户端等。使用箭头表示API的调用方向......
  • 股票数据接口api,商品期货,交易所套利合约的程序化交易
    Python股票接口实现查询账户,提交订单,自动交易(1)Python股票程序交易接口查账,提交订单,自动交易(2)商品期货和交易所套利合约程序化交易的股票数据接口获取对于商品期货和交易所套利合约的程序化交易,获取股票数据接口API是关键的一步。以下是一些获取股票数据接口API的方法,以......
  • SpringBoot集成高德天气API获取天气数据
    一、前言现在我们的日常开发中获取天气信息已经成为一项很重要的功能,也是一些门户网站必不可少的展示。所以我们需要学习如何获取实时天气数据,我们利用SpringBoot集成高德天气API可以很方便的实现获取天气实时数据。二、前期准备1.账号申请天气文档:https://lbs.amap.com/api/webser......
  • .NET 开源的功能强大的人脸识别 API
    前言人工智能时代,人脸识别技术已成为安全验证、身份识别和用户交互的关键工具。给大家推荐一款.NET开源提供了强大的人脸识别API,工具不仅易于集成,还具备高效处理能力。本文将介绍一款如何利用这些API,为我们的项目添加智能识别的亮点。项目介绍GitHub上拥有1.2k星标的C#......
  • fastapi 使用package 提供web 静态资源
    日常开发中对于静态资源的处理方法很多,但是如果静态资源也可以像包一样集成发布就会比较方便对于我们实际软件部署就会比较方便以下是关于fastapi通过package提供静态资源参考代码安装静态资源我们使用了bootstrap4,基于这个包提供app.pyfromfastapiimportFastAPIfrom......