ecology|泛微ecology9获取token信息

在泛微系统(Ecology9)的后端接口中,需要在请求体中加上token的参数。这篇文章记录下泛微Ecology9的token获取方式。

Token获取步骤

一、数据库中新建appid

1
INSERT INTO ECOLOGY_BIZ_EC(ID,APPID,NAME) VALUES('12','test','数字员工平台');

二、向Ecology发送许可证信息进行注册

只需要注册一次即可,注册后相关信息会更新在ECOLOGY_BIZ_EC表中

1
2
3
4
5
import requests
url = 'http://ip:1234/api/ec/dev/auth/regist'
headers = {'appid': 'test'}
response = requests.post(url, headers=headers )
print( response.json())

注册成功后,返回参secret和spk会分别写进ECOLOGY_BIZ_EC表中的secrit和server_public_key中,在后面会使用到。

三、向Ecology发送获取token请求

在上一步中以spk为密钥对secret进行RSA加密,加密后作为请求头的参数调用接口获取token即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import requests
import base64
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5

# RSA加密
def encode_RSA(secret):
public_key = '''-----BEGIN RSA PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAutgI110nor/T77o/wpQGEYUqhRNcDIuFybhYO9aP0fiD0Q66EUwTVWtwpgcxV71UMGJlWa0UPd1P6BktnQHzzkAx5aRN5z8dd0TVxCp6zcfUdwnAsPC7PCq4wseLFd0XGmmaeJW+8qlJs+6YSbEQIDAQAB
-----END RSA PUBLIC KEY-----
'''
secret = secret.encode('utf-8')
rsakey = RSA.importKey(public_key)
cipher = Cipher_pkcs1_v1_5.new(rsakey)
cipher_text = base64.b64encode(cipher.encrypt(secret))
return cipher_text

def getToken(secret):
url = 'http://ip:1234/api/ec/dev/auth/applytoken'
headers = {'appid': 'jictai','secret':secret}
response = requests.post(url, headers=headers )
return response

if __name__ == '__main__':
secret = '81ab3d983d34ed5b33'
secretRSA = encode_RSA(secret)
response = getToken(secretRSA)
if response.status_code == 200 :
token = response.json()['token']
print(userid)

注:
在RSA加密时用到了Crypto模块,安装方式如下:

  1. 安装pycryptodome库:pip install pycryptodome
  2. 找到pycryptodome的安装路径:pip show pycryptodome
  3. 在安装路径下找到一个名为crypto的文件夹,将 c 改为 C

参考文档

Token认证使用步骤
Python使用RSA公私钥做数据加密


商业转载请联系作者获得授权,非商业转载请注明出处。

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

ecology|泛微ecology9获取token信息
http://hncd1024.github.io/2023/08/25/Ecology_apiToken/
作者
CHEN DI
发布于
2023-08-25
许可协议