API认证方式-Access Token认证

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

API认证方式-Access Token认证

1 简介      

Token认证是指客户端登陆完成之后,服务端会生成一个有时效性的token返回给客户端,以后每次请求客户端都需要带上token。它可以当作URL参数或在请求头中发送,如“http://demo.com/users?accessToken=xxxxxx”,服务端以此来控制身份。当token过期后,服务端会销毁token,客户端需要重新请求获得token。

1.1 appId和appSecret

appId是第三方应用的唯一标识,appSecret是第三方应用的密钥,它们相当于用户名和密码。注册第三方应用之后就会生成一个appIdappSecret。另外appSecret和密码一样也可以重置,在第三方应用的编辑页面可以重置密钥。

1.2 appToken

即应用临时令牌。当用户在开放平台访问API前,需对应用进行授权,授权后第三方应用可访问用户的隐私数据。AppToken为一次性令牌,有效期为2小时。

1.3 accessToken

即用户授权令牌,为用户一次会话的授权标识,有效期2小时。在获得appToken后,通过调用开放平台后台接口getToken来获取accessToken。第三方应用在调用API服务时,需要带上accessToken信息,也只有accessToken才能作为访问的凭证。


2 AccessToken认证流程

1)在金蝶云苍穹开放平台注册第三方应用,注册后就会生成一个appId(系统编码)和appSecret(系统密码);

2)请求参数中输入appId和appSecret,通过客户端发送请求给服务器,获取临时appToken;

3)客户端通过请求发送用户名和上一步获取的appToken等信息给服务器,正确的话就返回accessToken;

4)客户端拿到这个accessToken,后续每次请求中,客户端会把token放在请求Header中发送给服务器,服务器验证签名是否有效,如果有效那么认证就成功,可以返回客户端需要的数据。

 

2.1 获取appToken

请求示例:

 

URL:http://localhost:8080/ierp/api/getAppToken.do

 

请求Header参数:

Content-Type=application/json

 

请求BODY参数:

{

    "appId": "test",

    "appSecret": "123456789123456789",

    "tenantid": "tenant_devother_dev",

    "accountId": "",

    "language": "zh_CN"

}

 

请求结果:

{

    data: {

        "app_token": "d1106e34-8766-47cf-a75c-cd6b24a00c62",

        "success": true,

        "error_desc": "",

        "expire_time": 1621249899783,

        "error_code": "0"

    },

    "state": "success"

}

HTTP  请求参数说明

传入参数

字段类型

是否必输

字段说明

appId

string

第三方appId,即例子中的:test

appSecuret

string

第三方app的密码,即例子中的:123456789123456789

tenantid

string

租户ID

accountId

string

数据中心ID,如果不输入,默认会选取租户下的缺省数据中心

language

string

语言字串:zh_CN,zh_TW等。默认系统默认语言

2.2 获取accessToken 

请求示例:

 

URLhttp://localhost:8080/ierp/api/login.do

 

请求Header参数:

Content-Type=application/json

 

请求BODY参数:

{

    "user": "130****2580",

    "apptoken": "9c13aa2f-d99b-4884-8a52-d1a065a392cc",

    "tenantid": "",

    "accountId": "",

    "usertype": "Mobile"

}

请求结果:

{

    "data": {

        "access_token": "666522411780278272_ZOmaYoNRmT4XRl9k8RHlt1xuyxJ5fDhf0vFxNpN4EVb37eSAawuQN9RgfuO8hsSGuPHtEb849W5Y0RQxp6CR9Qcm9E4l15h6Cs2B",

        "success": true,

        "error_desc": "",

        "expire_time": 1621250199609,

        "error_code": "0"

    },

    "state": "success"

}

http请求参数说明

传入参数

字段类型

是否必输

字段说明

user

string

用户手机号

apptoken

string

上一个接口的应用令牌(app_token)

tenantid

string

租户ID

accountId

string

数据中心ID, 如果不输入, 默认会选取租户下的缺省数据中心

usertype

String

Mobile: 标识为手机,默认为手机
Email:标识为email
UserName:标识为用户名

language

String

语言字串: zh_CN,zh_TW等。 默认系统默认语言

 


API认证方式-Access Token认证

1 简介 Token认证是指客户端登陆完成之后,服务端会生成一个有时效性的token返回给客户端,以后每次请求客户端都需要带上token。它...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息