v1.7.2
This commit is contained in:
172
README.md
172
README.md
@@ -168,7 +168,7 @@ import (
|
||||
|
||||
func main() {
|
||||
// Парсинг конфигурации из JSON-файла
|
||||
cfg := config.ParseConfigJSON("<PATH>")
|
||||
cfg, _ := config.ParseConfigJSON("<PATH>")
|
||||
}
|
||||
```
|
||||
|
||||
@@ -635,7 +635,7 @@ filtered := resp.
|
||||
```go
|
||||
func main() {
|
||||
// Чтение конфигурации из файла
|
||||
cfg := config.ParseConfigJSON("<PATH>")
|
||||
cfg, _ := config.ParseConfigJSON("<PATH>")
|
||||
|
||||
// Создание клиента
|
||||
client := decort.New(cfg)
|
||||
@@ -864,7 +864,7 @@ import (
|
||||
|
||||
func main() {
|
||||
// Парсинг конфигурации из YAML-файла
|
||||
legacyCfg := config.ParseLegacyConfigYAML("<PATH>")
|
||||
legacyCfg, _ := config.ParseLegacyConfigYAML("<PATH>")
|
||||
}
|
||||
```
|
||||
|
||||
@@ -969,21 +969,43 @@ func main() {
|
||||
|
||||
Работа с BVS клиентом применяется для пользователей, которые используют для авторизации BVS.
|
||||
|
||||
### Настройка параметров BVS в кабинете администратора
|
||||
|
||||
Для корректной работы функции обновления токена необходимо соблюдать следующие условия:
|
||||
|
||||
на странице администратора по следующему пути: домены-<имя вашего домена>-(символ i)-токены
|
||||
- параметр "Время жизни токена доступа" - устанавливается для всего домена. Не применяется есть по следующему пути: безопасность-клиентские_системы-(символ i)-токены-"Время жизни токена доступа" не выставлено иное время, которое имеет больший приоритет для конкретной клиентской системы
|
||||
- параметр "Время простоя сессии" - время жизни токена обновления. В случае указания количества минут меньше, чем время жизни токена, то обновление токена будет работать некорректно. Редомендуется указывать время или равное или больше времени жизни токена
|
||||
- параметр "Максимальное время жизни сессии" - время в течение которого возможно производить обновление токена. Если данный параметр будет равен времени жизни токена, то обновление токена будет работать некорректно. Редомендуется указывать время больше времени жизни токена
|
||||
|
||||
### Настройка конфигурации BVS клиента
|
||||
|
||||
Сначала, необходимо создать переменную конфигурации клиента. Конфигурация состоит как из обязательных, так и необязательных полей.
|
||||
|
||||
| Поле | Тип | Обязательный | Описание |
|
||||
| ------------- | ------ | ------------ | ------------------------------------------------------------------ |
|
||||
| Username | string | Да | username legacy пользователя |
|
||||
| Password | string | Да | пароль legacy пользователя |
|
||||
| DecortURL | string | Да | URL адрес платформы, с которой будет осуществляться взаимодействие |
|
||||
| SSOURL | string | Да | URL адрес сервиса аутентификации и авторизации |
|
||||
| Domain | string | Да | Имя домена |
|
||||
| Retries | uint | Нет | Кол-во неудачных попыток выполнения запроса, по умолчанию - 5 |
|
||||
| Timeout | config.Duration | Нет | Таймаут HTTP клиента, по умолчанию - без ограничений |
|
||||
| SSLSkipVerify | bool | Нет | Пропуск проверки подлинности сертификата |
|
||||
| Поле | Тип | Обязательный | Описание |
|
||||
| ------------- | --------------------------------------------- | ------------ | ------------------------------------------------------------------ |
|
||||
| Username | string | Да | username пользователя |
|
||||
| Password | string | Да | пароль пользователя |
|
||||
| AppID | string | Да | app_id ключа для выполнения запросов |
|
||||
| AppSecret | string | Да | app_secret ключ для выполнения запроса |
|
||||
| DecortURL | string | Да | URL адрес платформы, с которой будет осуществляться взаимодействие |
|
||||
| SSOURL | string | Да | URL адрес сервиса аутентификации и авторизации |
|
||||
| Domain | string | Да | Имя домена |
|
||||
| Retries | uint | Нет | Кол-во неудачных попыток выполнения запроса, по умолчанию - 5 |
|
||||
| Timeout | config.Duration | Нет | Таймаут HTTP клиента, по умолчанию - без ограничений |
|
||||
| SSLSkipVerify | bool | Нет | Пропуск проверки подлинности сертификата |
|
||||
| Token | struct{} [см. ниже](#описание-структуры-token)| Нет | JWT токен |
|
||||
| PathCfg | string | Нет | Путь записи конфигурации в файл |
|
||||
| PathToken | string | Нет | Путь записи токена в файл |
|
||||
| TimeToRefresh | uint | Нет | Количество минут, за сколько до истечения срока действия токена выполнится его обновление, по умолчанию - 1 минута |
|
||||
|
||||
### Описание структуры token
|
||||
| Параметр | Тип | Описание |
|
||||
| ------------ | ------ | ------------------------------- |
|
||||
| AccessToken | string | Токен |
|
||||
| TokenType | string | Тип токена |
|
||||
| RefreshToken | string | Токен для запроса на обновление |
|
||||
| Expiry | time | Время жизни токена |
|
||||
|
||||
#### Пример конфигурации BVS клиента
|
||||
|
||||
@@ -1022,7 +1044,24 @@ import (
|
||||
|
||||
func main() {
|
||||
// Парсинг конфигурации из YAML-файла
|
||||
BVSCfg := config.ParseConfigBVSYAML("<PATH>")
|
||||
BVSCfg, _ := config.ParseConfigBVSYAML("<PATH>")
|
||||
}
|
||||
```
|
||||
|
||||
#### Парсинг BVS токена из файла
|
||||
|
||||
Также возможно создать переменную токена из JSON или YAML файла, используя функцию `ParseTokenBVSJSON` (или `ParseTokenBVSYAML`) из пакета config.
|
||||
<br>
|
||||
*См. пример файлов конфигурации ниже и в директории `samples/`.*
|
||||
|
||||
```go
|
||||
import (
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/config"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// Парсинг токена из json-файла
|
||||
BVSToken, _ := config.ParseTokenBVSJSON("<PATH>")
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1037,9 +1076,18 @@ func main() {
|
||||
"ssoUrl": "https://bvs-delta.qa.loc:8443",
|
||||
"decortUrl": "https://delta.qa.loc",
|
||||
"domain": "dynamix",
|
||||
"token": {
|
||||
"access_token": "string_token",
|
||||
"token_type": "bearer",
|
||||
"refresh_token": "string_refresh_token",
|
||||
"expiry": "2023-11-24T12:40:27.954150524+03:00"
|
||||
},
|
||||
"retries": 5,
|
||||
"sslSkipVerify": true,
|
||||
"timeout": "5m",
|
||||
"sslSkipVerify": false
|
||||
"path_cfg": "config",
|
||||
"path_token": "token",
|
||||
"timeToRefresh": 5
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1051,10 +1099,18 @@ func main() {
|
||||
appSecret: <APP_SECRET>
|
||||
ssoUrl: https://bvs-delta.qa.loc:8443
|
||||
decortUrl: https://delta.qa.loc
|
||||
domain: dynamix,
|
||||
domain: dynamix
|
||||
token":
|
||||
access_token: string_token
|
||||
token_type: bearer
|
||||
refresh_token: string_refresh_token
|
||||
expiry: 2023-11-24T12:40:27.954150524+03:00
|
||||
retries: 5
|
||||
sslSkipVerify: true
|
||||
timeout: 5m
|
||||
sslSkipVerify: false
|
||||
path_cfg: config
|
||||
path_token: token
|
||||
timeToRefresh: 5
|
||||
```
|
||||
### Создание BVS клиента
|
||||
|
||||
@@ -1090,6 +1146,88 @@ func main() {
|
||||
}
|
||||
```
|
||||
|
||||
#### Пример получения BVS токена
|
||||
|
||||
В случае указания значения в переменной конфигурации `PathCfg` токен и конфигурация будут записаны в файл в формате `json`, переменная `PathToken` служит для записи токена в файл в формате `json`
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/config"
|
||||
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// Настройка конфигурации
|
||||
BVSCfg := config.config.BVSConfig{
|
||||
Username: "<USERNAME>",
|
||||
Password: "<PASSWORD>",
|
||||
AppID: "<APPID>",
|
||||
AppSecret: "<APPSECRET>",
|
||||
SSOURL: "https://bvs-delta.qa.loc:8443"
|
||||
DecortURL: "https://mr4.digitalenergy.online",
|
||||
Domain: "dynamix",
|
||||
PathCfg: "config",
|
||||
Retries: 5,
|
||||
}
|
||||
|
||||
// Создание клиента
|
||||
BVSClient := decort.NewBVS(cfg)
|
||||
|
||||
// Выполнение запроса на получение токена
|
||||
token, err := client.GetToken(context.Background())
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
fmt.Println(token)
|
||||
}
|
||||
```
|
||||
|
||||
#### Пример обновления BVS токена
|
||||
|
||||
В случае указания значения в переменной конфигурации `PathCfg` обновленный токен и конфигурация будут записаны в файл в формате `json`, переменная `PathToken` служит для записи токена в файл в формате `json`
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/config"
|
||||
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// Настройка конфигурации
|
||||
BVSCfg := config.config.BVSConfig{
|
||||
Username: "<USERNAME>",
|
||||
Password: "<PASSWORD>",
|
||||
AppID: "<APPID>",
|
||||
AppSecret: "<APPSECRET>",
|
||||
SSOURL: "https://bvs-delta.qa.loc:8443"
|
||||
DecortURL: "https://mr4.digitalenergy.online",
|
||||
Domain: "dynamix",
|
||||
PathToken: "token",
|
||||
Retries: 5,
|
||||
}
|
||||
|
||||
// Создание клиента
|
||||
BVSClient := decort.NewBVS(cfg)
|
||||
|
||||
// Выполнение запроса на обновление токена
|
||||
token, err := client.RefreshToken(context.Background())
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
fmt.Println(token)
|
||||
}
|
||||
```
|
||||
|
||||
#### Пример выполнения запроса
|
||||
|
||||
```go
|
||||
|
||||
Reference in New Issue
Block a user