简体中文

登录VSaaS

概述

本章节主要介绍,客户基于自己的用户管理系统(AM)来对接我们的云存储功能,目前我们的VSaaS有自带一个设备管理的功能(DM),来做设备与方案的绑定,以及事件的查询、回放、下载、删除。

第三方认证流程

第三方认证,用以服务器(云端)对服务器(云端)之间对用户信息进行合法性认证。流程参考如下:

image.png

第三方认证流程
主要过程叙述:
  1. 用户使用3rd app注册账号,并使用登录API登录3rd AM
  2. 3rd AM返回特定的auth code到3rd app
  3. 3rd app使用Get Vsaas Token API和auth code登录TUTK VSaaS服务器。
  4. TUTK VSaaS服务器使用Get Access Token API,从3rd AM获取Access Token。
  5. 3rd AM返回Access Token给TUTK VSaaS服务器。
  6. TUTK VSaaS服务器可以使用Get User Info API以及Access Token从3rd AM获取相关用户的信息。
  7. 3rd AM返回用户的信息到TUTK VSaaS服务器。
  8. TUTK VSaaS服务器验证用户的信息,并将VSaaS Token返回给3rd app
  9. 3rd app还可以使用VSaaS刷新令牌VSaaS Refresh Token API从TUTK VSaaS服务器获取refresh token。

API:

VSaaS服务器将使用以下API访问第三方服务器:
  1. Get Access Token 
Vsaas服务器向第三方服务器获取access token。

Request

HTTP request

由第三方提供url,比如:POST https://vendor-am.com/api/v1/authorize 

Parameters

Header parameters 

Authorization : Basic<base64(< span="">client_id:client_secret)>
Content-Type : application/x-www-form-urlencoded

Required

参数
类型
必选
说明
grant_type
String
这里填"authorization_code"
code
String
grant code
 

Response

参数
类型
说明
access_token
String

token_type
String
token的类型:JWT Bear
expirec_in
String
到期时间
refresh_token
String

scope
String

Code

200
400
401
 
  1. Get Refresh Token 
VSaaS从第三方服务器更新access token

Request

HTTP request

由第三方提供url,比如:POST https://vendor-am.com/api/v1/authorize
 
Parameters

Header parameters 

Authorization : Basic<base64(< span="">client_id:client_secret)>
Content-Type : application/x-www-form-urlencoded

Required

参数
类型
必选
说明
grant_type
String
这里填"authorization_code"
refresh_token
String
Get Access Token
 

Response

参数
类型
说明
access_token
String

token_type
String
token的类型:JWT Bear
expirec_in
String
到期时间
refresh_token
String

scope
String

Code

200
400
401 
  1. Get User Information
VSaaS服务器将从第三方服务器获取用户信息

Request

HTTP request

由第三方提供url,比如:GET https://vendor-am.com/api/v1/userinfo
 

Parameters

Header parameters

Authorization : Bearer
使用上面的access token

Response

参数
类型
说明
email
String
用户账户,我们将据此在vsaas 上创建对应的账户

Code

200
400
401

例子 :

Request

curl -X GET https://3rdpart.am.site/api/v1/userinfo -H 'Authorization: Bearer LKdkjlk8873BNN'

Response

{
    "email":"someone@somewhere"
}
APP端可以使用以下API从VSaaS服务器获取token
  1. Get vsaas token
从TUTK VSaaS获取vsaas token

Request

HTTP request

POST https://vsaas-domain/vsaas/api/v1/auth/oauth_token?realm={realm}
 

Parameters

Header parameters

Authorization : Basic
使用Base64编码 client_id 和 client_secret(这个用客户自己的client_id:client_secret,需要跟预先提供的一致)
Content-Type : application/x-www-form-urlencoded
Required API parameters
参数
类型
必选
说明
realm
String
由TUTK提供,用以区分不同客户
grant_type
String
这里填"authorization_code"
code
String
填写grant code
scope
String
一个或多个以空格分隔的字符串,指示应用程序正在请求的权限。您正在使用的特定的OAuth API将定义它所支持的范围。
state
String
APP生成一个随机字符串,并将其包含在请求中。然后,它应该检查在用户授权该应用程序后是否返回了相同的值。这是用来防止CSRF攻击的。

Response

参数
类型
说明
access_token
String
即vsaas token
token_type
String
服务器将回:"Bearer"
expirec_in
String
到期时间,秒,默认3个小时
refresh_token
String

scope
String
权限类型

Code

200
400
401

例子 :

Request

curl -X POST https://vsaas-domain/vsaas/api/v1/auth/oauth_token?realm={realm} -H 'content-type:application/x-
www-form-urlencoded' -d 'grant_type=authorization_code&code=theauthcode'

Response

{
 "expires_in": 10800,
 "scope": "read write",
 "token_type": "Bearer",
 "refresh_token": "BqVK9Dv8EdS7fCxVKtIAvlzHCNn9eg",
 "access_token": "sDDJFhDo80cstYKnWBhq7ErA2dP45Y"
}

Refresh Vsaas Token 

从TUTK VSaaS更新token

Request

HTTP request

POST https://vsaas-domain/vsaas/api/v1/auth/refresh_token?realm={realm}
 
Parameters

Header parameters 

Authorization :  Original access token
Content-Type : application/x-www-form-urlencoded

Required

参数
类型
必选
说明
realm
String
由TUTK提供,用以区分不同客户
grant_type
String
这里填"refresh_token"
refresh_token
String
填写refresh token
client_id
String
由TUTK提供
client_secret
String
由TUTK提供
 

Response

参数
类型
说明
access_token
String
新的access token
token_type
String
token的类型:JWT Bear
expirec_in
String
到期时间,秒
refresh_token
String

scope
String

Code

200
400
401

例子 :

Request

curl -X POST https://vsaas-domain/vsaas/api/v1/auth/refresh_token/ -H 'content-type:application/x-www-form-urlencoded' -d 'grant_type=refresh_token&refresh_token=BqVK9Dv8EdS7fCxVKtIAvlzHCNn9eg&client_id=0Feq934VvPK4CZW9FTdKCtnYHo
2CApSSLxhBDXTK&client_secret=DdVaF0eitGygXCPRt7OtJJGwQHEbWq7A6ddqkDekyqwkxHJG2XrqwmQ5ZOn3tTTDTlpNjkgffXmCnfU26e0frlt8dulI0iz59tuSxdvdq63NHrPUVUNxuzX7mreJs7ip'

Response

{
    "expires_in":    10800,
    "scope":    "read    write",
    "token_type":    "Bearer",
    "refresh_token":    "QDTw4Q3pp9PuSwe2WOW7QV2bviXuaC",
    "access_token":    "h8kz9fLfuk0x77Co8rJZAveTAhn71L"
}

对接资料:

  • TUTK将提供的资料:
  1. realm
  2. plan id
  3. client_id
  4. client_secret
  5. vsaas backend url
  • 客户需要提供资料:
  1. client_id
  2. client_secret
  3. token交换的url
  4. 用户信息认证的url


即刻开启您的物联网之旅

联系解决方案专家
Kalay App
解决方案
新闻动态
公司动态
行业资讯
媒体报道
永续发展
经营者的话
社会参与
环境永续
公司治理

+86 755 27702549

7×24小时服务热线

法律声明 隐私权条款

关注“TUTK”

TUTK服务尽在掌握

© 2022 物联智慧科技(深圳)有限公司版权所有粤ICP备14023641号
在线咨询
扫一扫

TUTK服务尽在掌握

全国免费服务热线
+86 755 27702549

返回顶部