forum.gl-inet.cn

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
    查看: 1933|回复: 9

    [问题反馈] 4.XSDK 调用时 SID授权信息获取失败

    [复制链接]

    1

    主题

    5

    帖子

    43

    积分

    新手上路

    Rank: 1

    积分
    43
    发表于 2022-7-27 18:17:53 | 显示全部楼层 |阅读模式
    本帖最后由 btsome 于 2022-7-31 10:13 编辑

    在使用 4.X 版本的 1800 设备,调用 SDK api 时进行授权信息获取发现每次验证 SID 有效性时总是提示失败
    提示:{"id":1,"jsonrpc":"2.0","error":{"message":"Access denied","code":-32000}}
    获取 SID 命令如下:
    1. host=$1
    2. username=$2
    3. password=$3

    4. ret="$(curl -k http://$host/rpc -d '{"jsonrpc":"2.0","method":"challenge","params":{"username":"root"},"id":1}' 2>/dev/null)"
    5. salt="$(echo $ret|awk -F "salt" '{print $2}'|cut -d '"' -f 3)"
    6. nonce="$(echo $ret|awk -F "nonce" '{print $2}'|cut -d '"' -f 3)"
    7. alg="$(echo $ret|awk -F "alg" '{print $2}'|awk -F ":|," '{print $2}')"

    8. pw=$(openssl passwd -$alg -salt "$salt" "$password")

    9. hash=$(echo -n "$username:$pw:$nonce" | md5sum | cut -d' ' -f1)

    10. echo $hash
    复制代码

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9846

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9846

    官方人员

    发表于 2022-8-1 11:43:13 | 显示全部楼层
    btsome 发表于 2022-7-31 09:57
    操作环境:ubuntu20.04
    操作方式:你给的脚本里面应该是生成了 hash,不是直接生成 SID 吧?echo hash 这是 ...

    有俩个问题
    一是脚本中缺少login操作
    而是没有处理好json中的转义字符
    现在已修正,修正后的脚本如下,API文档也已经同步修改
    1. #!/bin/sh

    2. host=$1
    3. username=$2
    4. password=$3

    5. which jq 2>&1 >/dev/null || {
    6.         echo please  install jq
    7.         exit 1
    8. }

    9. ret="$(curl -k http://$host/rpc -d "{"jsonrpc":"3.0","method":"challenge","params":{"username":"${username}"},"id":1}" 2>/dev/null|jq -c)"
    10. salt="$(echo $ret|awk -F "salt" '{print $2}'|cut -d '"' -f 3)"
    11. nonce="$(echo $ret|awk -F "nonce" '{print $2}'|cut -d '"' -f 3)"
    12. alg="$(echo $ret|awk -F "alg" '{print $2}'|awk -F ":|," '{print $2}')"

    13. pw=$(openssl passwd -$alg -salt "$salt" "$password")

    14. hash=$(echo -n "$username:$pw:$nonce" | md5sum | cut -d' ' -f1)
    15. ret="$(curl -k http://$host/rpc -d "{"jsonrpc":"2.0","method":"login","params":{"username":"${username}","hash":"${hash}"},"id":1}" 2>/dev/null)"
    16. echo $ret
    复制代码


    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9846

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9846

    官方人员

    发表于 2022-7-29 10:05:10 | 显示全部楼层
    AX1800还是AXT1800呢?
    回复

    使用道具 举报

    1

    主题

    5

    帖子

    43

    积分

    新手上路

    Rank: 1

    积分
    43
     楼主| 发表于 2022-7-29 12:08:02 | 显示全部楼层
    萝卜大侠 发表于 2022-7-29 10:05
    AX1800还是AXT1800呢?

    GL-AXT1800
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9846

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9846

    官方人员

    发表于 2022-7-29 15:56:09 | 显示全部楼层

    好像是字符串中的转义符导致的,我看下咋解决
    回复

    使用道具 举报

    1

    主题

    5

    帖子

    43

    积分

    新手上路

    Rank: 1

    积分
    43
     楼主| 发表于 2022-7-29 17:18:25 | 显示全部楼层
    萝卜大侠 发表于 2022-7-29 15:56
    好像是字符串中的转义符导致的,我看下咋解决

    今天看看给处理下吧 同时程序员。。。。。我这功能停了好久了
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9846

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9846

    官方人员

    发表于 2022-7-29 20:43:03 | 显示全部楼层
    SID获取的脚本有点问题,下午看了一下,没找到问题,明天继续看
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9846

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9846

    官方人员

    发表于 2022-7-30 16:41:04 | 显示全部楼层
    我试了下例子中的脚本,如果在linux下执行生成的SID是没有问题的,但是在windows环境下执行生成就有问题
    回复

    使用道具 举报

    1

    主题

    5

    帖子

    43

    积分

    新手上路

    Rank: 1

    积分
    43
     楼主| 发表于 2022-7-31 09:57:15 | 显示全部楼层
    操作环境:ubuntu20.04
    操作方式:你给的脚本里面应该是生成了 hash,不是直接生成 SID 吧?echo hash 这是 hash 吗?
    我看你前端登录的时候,需要在登录接口传 hash 然后再生成 SID
    你说你尝试可以,是怎样验证的?获取到的 hash 可以直接调用接口获取内容?不行吧?
    回复

    使用道具 举报

    0

    主题

    834

    帖子

    1684

    积分

    禁止发言

    积分
    1684
    发表于 2023-1-14 04:43:10 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|gl-inet.cn ( 粤ICP备18130956号 )

    GMT+8, 2024-11-22 06:54 , Processed in 0.022134 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表