auth_query.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. # -*- coding: UTF-8 -*-
  2. import esigntool
  3. import requests
  4. from esigntool import esign_run_print_outer
  5. # 认证和授权服务API - 实名认证 - 查询类
  6. config = esigntool.Config() # 初始化配置类
  7. # 查询个人认证信息
  8. @esign_run_print_outer
  9. def findPsnIdentityInfo(mobile):
  10. """
  11. :param mobile:实名用户手机号
  12. :return:请求响应
  13. """
  14. api_path = "/v3/persons/identity-info?psnAccount={}".format(mobile)
  15. method = esigntool.httpMethodEnum.GET
  16. if mobile == "":
  17. print("请设置实名用户个人手机号")
  18. exit()
  19. # 签名并构造签名鉴权json请求头
  20. json_headers = esigntool.buildSignJsonHeader(config.appId, config.scert, method, esigntool.apiPathSort(api_path))
  21. # 发起请求
  22. resp = requests.request(method, config.host + api_path, json=None, headers=json_headers)
  23. print(resp.text)
  24. return resp.text
  25. # 查询个人授权信息
  26. @esign_run_print_outer
  27. def findPsnAuthInfo(psnId):
  28. """
  29. :param psnId:实名用户账号ID
  30. :return:请求响应
  31. """
  32. api_path = "/v3/persons/{}/authorized-info".format(psnId)
  33. method = esigntool.httpMethodEnum.GET
  34. # 签名并构造签名鉴权json请求头
  35. json_headers = esigntool.buildSignJsonHeader(config.appId, config.scert, method, esigntool.apiPathSort(api_path))
  36. # 发起请求
  37. resp = requests.request(method, config.host + api_path, json=None, headers=json_headers)
  38. print(resp.text)
  39. return resp.text
  40. # 查询机构认证信息
  41. @esign_run_print_outer
  42. def findOrgIdentityInfo(orgName):
  43. """
  44. :param orgName:实名企业名称
  45. :return:请求响应
  46. """
  47. api_path = "/v3/organizations/identity-info?orgName={}".format(orgName)
  48. method = esigntool.httpMethodEnum.GET
  49. # 签名并构造签名鉴权json请求头
  50. json_headers = esigntool.buildSignJsonHeader(config.appId, config.scert, method, esigntool.apiPathSort(api_path))
  51. # 发起请求
  52. resp = requests.request(method, config.host + api_path, json=None, headers=json_headers)
  53. print(resp.text)
  54. return resp.text
  55. # 查询机构授权信息
  56. @esign_run_print_outer
  57. def findOrgAuthInfo(OrgId):
  58. """
  59. :param OrgId:实名企业账号ID
  60. :return:请求响应
  61. """
  62. api_path = "/v3/organizations/{}/authorized-info".format(OrgId)
  63. method = esigntool.httpMethodEnum.GET
  64. # 签名并构造签名鉴权json请求头
  65. json_headers = esigntool.buildSignJsonHeader(config.appId, config.scert, method, esigntool.apiPathSort(api_path))
  66. # 发起请求
  67. resp = requests.request(method, config.host + api_path, json=None, headers=json_headers)
  68. print(resp.text)
  69. return resp.text
  70. # 查询认证授权流程详情
  71. @esign_run_print_outer
  72. def findAuthFlowInfo(flowId):
  73. """
  74. :param flowId:实名流程ID
  75. :return:请求响应
  76. """
  77. api_path = "/v3/auth-flow/{}".format(flowId)
  78. method = esigntool.httpMethodEnum.GET
  79. # 签名并构造签名鉴权json请求头
  80. json_headers = esigntool.buildSignJsonHeader(config.appId, config.scert, method, esigntool.apiPathSort(api_path))
  81. # 发起请求
  82. resp = requests.request(method, config.host + api_path, json=None, headers=json_headers)
  83. print(resp.text)
  84. return resp.text
  85. if __name__ == '__main__':
  86. if config.appId == "" or config.scert == "":
  87. print("请设置应用appId和应用Secret")
  88. exit()
  89. mobile = "1***" # 请输入个人联系手机号
  90. orgName = "***企业" # 请输入企业名称
  91. findPsnIdentityInfo(mobile) # 查询个人认证信息
  92. findOrgIdentityInfo(orgName) # 查询机构认证信息
  93. psnId = "***" # 请输入个人认证帐号,由【查询个人认证信息】接口返回
  94. OrgId = "***" # 请输入企业认证帐号,由【查询企业认证信息】接口返回
  95. flowId = "***" # 请输入流程ID,由【发起认证&授权】接口返回
  96. findPsnAuthInfo(psnId) # 查询个人授权信息
  97. findOrgAuthInfo(OrgId) # 查询企业授权信息
  98. findAuthFlowInfo(flowId) # 查询认证授权流程详情