Параметры аутентификации

Параметры аутентификации

/accessToken=<token>

Используйте эту опцию, чтобы установить токен доступа OAuth1/OAuth2.

Вы можете установить тип токена OAuth2 с помощью параметра /tokenType. Значение по умолчанию - "Bearer".

Например:

/accessToken=12345 /tokenType=Bearer

/accessTokenUrl=<URL>

Используйте эту опцию, чтобы задать URL-адрес службы OAuth1 для получения токена доступа.

/auth=Auto | None | Basic | Windows | Forms | OAuth1 | OAuth2 | Custom

Используйте эту опцию для определения метода проверки подлинности: Auto, None, Basic, Windows, Forms, OAuth1, OAuth2 или Custom.

Например:

gsqlcmd download https://localhost/crm/contacts /auth=Forms /username=user /password=pass

Вы можете попробовать не указывать метод аутентификации, указав только имя пользователя и пароль, как например:

gsqlcmd download https://localhost/crm/contacts /username=user /password=pass

В этом случае gsqlcmd пытается автоматически определить подходящий метод.

Чтобы принудительно использовать двухэтапный метод OAuth1, укажите параметры /consumerKey и /consumerSecret, например:

gsqlcmd download https://website.com/api/get-quotes /consumerKey=app /consumerSecret=appSecret

Вы можете авторизовать запрос в интерактивном режиме, используя опцию /interactive, например

gsqlcmd download https://localhost/crm/contacts /interactive

/authCode=<code>

Эта опция является синонимом опции /code.

/authorizationHeader=<value>

Используйте эту опцию, чтобы указать заголовок авторизации пользовательского поставщика проверки подлинности.

Например:

"/authorizationHeader=Bearer 12345"

Приведенный пример эквивалентен варианту:

"/header=Authorization: Bearer 12345"

/authUri=<URL>

Эта опция является синонимом опции /authorizationUrl.

Он используется для загрузки URL-адресов авторизации из файлов конфигурации клиента, например, экспортированных из Google.

/authorizationUrlFormat=<URL format>

Используйте эту опцию, чтобы настроить формат URL-адреса авторизации OAuth2.

Значение по умолчанию:

{authorization_url}?scope={scope}&client_id={client_id}&response_type={response_type}&redirect_uri={redirect_uri}

/authorizationUrl=<URL>

Используйте эту опцию, чтобы указать URL-адрес авторизации OAuth1/OAuth2 или корневой URL-адрес веб-службы с проверкой подлинности с помощью форм.

Например:

/authorizationUrl=https://accounts.google.com/o/oauth2/auth

gsqlcmd в большинстве случаев успешно обнаруживает корневые URL-адреса проверки подлинности с помощью форм. Попробуйте установить его, если аутентификация с помощью форм не удалась.

/callback=<URI>

Используйте эту опцию, чтобы указать URI обратного вызова зарегистрированного приложения OAuth1.

Например:

/callback=https://www.savetodb.com/

/clientId=<clientId>

Используйте эту опцию, чтобы установить значение clientId зарегистрированного приложения OAuth2.

Например:

gsqlcmd download https://website.com/api/get-quotes /clientId=myapp /clientSecret=mypassword

gsqlcmd использует это значение также с аутентификацией OAuth1, если не указан параметр /consumerKey.

/clientJson=<filename>

Используйте эту опцию, чтобы указать файл с учетными данными клиента и необходимой информацией для проверки подлинности.

Например:

gsqlcmd get-token /clientJson=client_secret.json /tokenJson=access_token.json ^
                  /scope=https://www.googleapis.com/auth/webmasters.readonly

Сервисы могут разрешать экспортировать такие файлы со страниц зарегистрированных приложений.

Например, секретный файл клиента Google Search Console выглядит так:

{"installed":{
    "client_id":"123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com",
    "project_id":"searchconsoleapi-123456",
    "auth_uri":"https://accounts.google.com/o/oauth2/auth",
    "token_uri":"https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
    "client_secret":"Abcdefghijklmnopqrstuvwx",
    "redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]
}}

Если вы готовите такие файлы вручную, вы можете разделить настройки с помощью опций /clientJson и /serviceJson.

Также вы можете использовать обычный текст вместо JSON. Например, показанные выше настройки могут выглядеть так:

client_id=123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com
project_id=searchconsoleapi-123456
auth_uri=https://accounts.google.com/o/oauth2/auth
token_uri=https://oauth2.googleapis.com/token
auth_provider_x509_cert_url=https://www.googleapis.com/oauth2/v1/certs
client_secret=Abcdefghijklmnopqrstuvwx
redirect_uris=urn:ietf:wg:oauth:2.0:oob,http://localhost

/clientSecret=<clientSecret>

Используйте эту опцию, чтобы установить значение clientSecret, используемое со схемой аутентификации OAuth2.

Например:

gsqlcmd download https://website.com/api/get-quotes /clientId=myapp /clientSecret=mypassword

gsqlcmd использует это значение также с аутентификацией OAuth1, если не указан параметр /consumerSecret.

/code=<code>

Используйте эту опцию, чтобы установить код авторизации OAuth2, полученный из браузера, чтобы пропустить получение такого кода с помощью встроенного браузера gsqlcmd.

Например:

/code=12345

/consumerKey=<consumerKey>

Используйте эту опцию, чтобы установить значение ConsumerKey зарегистрированного приложения OAuth1.

Например:

gsqlcmd download https://website.com/api/get-quotes /consumerKey=app /consumerSecret=appSecret

/consumerSecret=<consumerSecret>

Используйте эту опцию, чтобы установить значение ConsumerSecret зарегистрированного приложения OAuth1.

Например:

gsqlcmd download https://website.com/api/get-quotes /consumerKey=app /consumerSecret=appSecret

Используйте эту опцию, чтобы установить файл cookie, используемый с формами или пользовательскими методами проверки подлинности.

Например:

gsqlcmd download https://website.com/api/get-quotes /cookie=.ASPXFORMSAUTH=D3A...

Вы можете использовать параметр /cookieFile, чтобы указать файл cookie в файле вместо значения в командной строке.

/cookieFile=<filename>

Используйте эту опцию, чтобы установить файл с файлом cookie, используемым с формами или пользовательскими методами аутентификации.

Например:

gsqlcmd download https://website.com/api/get-quotes /cookieFile=cookie.txt

Файл должен содержать только значение cookie. Например:

.ASPXFORMSAUTH=D3A...

gsqlcmd обновляет файл cookie, если служба возвращает обновленное значение.

Чтобы избежать обновления файла cookie, используйте вместо этого опцию /options. Например:

gsqlcmd download https://website.com/api/get-quotes /options=options.txt

В этом случае вы должны использовать имя опции и ее значение. Например, options.txt может выглядеть так:

cookie=.ASPXFORMSAUTH=D3A...

/expiresIn=<seconds>

Используйте эту опцию, чтобы установить срок действия токена в секундах.

Например:

/expiresIn=3600

gsqlcmd использует это значение для автоматического обновления токенов с истекшим сроком действия, используя дату и время файла, указанные в опции /tokenJson.

Обычно вам не нужно задавать его вручную, так как экспортированный файл токена содержит это значение.

Опция /validTo имеет более высокий приоритет.

/grantType=<type>

Используйте эту опцию, чтобы указать требуемый тип получения разрешения.

Например:

/grantType=authorization_code

OAuth2 определяет следующие типы: authorization_code, client_credentials, password и refresh_token.

Однако, OAuth2 также допускает расширение типов. В этом случае обратитесь к документации сервиса.

/getTokenBodyFormat=<body format>

Используйте эту опцию, чтобы настроить тело запроса токена получения OAuth2.

Значение по умолчанию:

grant_type={grant_type}&client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}&code={code}

/getTokenUrl=<URL>

Используйте эту опцию, чтобы задать URL-адрес запроса токена OAuth2.

gsqlcmd использует значение /token_uri по умолчанию, если это значение не указано.

/getTokenUrlFormat=<URL format>

Используйте эту опцию, чтобы настроить формат URL-адреса запроса токена OAuth2.

Значение по умолчанию:

{get_token_url}

/interactive[=true | false]

Используйте эту опцию, чтобы разрешить авторизацию запроса в интерактивном режиме.

Например:

gsqlcmd download https://localhost/crm/contacts /interactive

Этот режим не требует дополнительных параметров для схем аутентификации Basic, Windows и Forms.

Чтобы использовать его со схемами аутентификации OAuth1, OAuth2 или Custom, укажите необходимые параметры клиента и службы.

Например:

gsqlcmd download https://localhost/crm/contacts /interactive /clientJson=client.txt /serviceJson=service.txt /tokenJson=token.json

/oauthExpiresIn=<seconds>

Используйте эту опцию, чтобы задать время истечения срока действия токена доступа OAuth1 в секундах.

Обычно вам не нужно задавать его вручную, так как экспортированный файл токена содержит это значение.

gsqlcmd использует это значение для автоматического обновления токенов с истекшим сроком действия, используя дату и время файла, указанные в опции /tokenJson.

Опция /validTo имеет более высокий приоритет.

/oauthSessionHandle=<value>

Используйте эту опцию, чтобы задать значение дескриптора сеанса OAuth1.

Обычно вам не нужно задавать его вручную, так как экспортированный файл токена содержит это значение.

/oauthToken=<token>

Используйте эту опцию, чтобы установить токен доступа OAuth1.

Обычно вам не нужно задавать его вручную, так как экспортированный файл токена содержит это значение.

/oauthTokenSecret=<token secret>

Используйте эту опцию, чтобы задать секретный ключ токена доступа OAuth1.

Обычно вам не нужно задавать его вручную, так как экспортированный файл токена содержит это значение.

/password=<password>

Используйте эту опцию, чтобы установить пароль для веб-ресурсов, защищенных схемами аутентификации Basic, Windows или Forms.

Например:

gsqlcmd download https://localhost/crm/contacts /auth=Forms /username=user /password=pass

/redirectUri=<URI>

Используйте эту опцию, чтобы указать URI перенаправления зарегистрированного приложения OAuth2.

Например:

/redirectUri=urn:ietf:wg:oauth:2.0:oob

gsqlcmd также использует это значение по умолчанию для аутентификации OAuth1, если не задана опция /callback.

/redirectUris=<URI>

Эта опция является синонимом /redirectUri, используемой для импорта URI из файлов, указанных с помощью опции /clientJson.

/refreshToken=<токен>

Используйте эту опцию для установки токена обновления OAuth2, используемого для обновления токена доступа с истекшим сроком действия.

Например:

/refreshToken=1/ABCDEFGHIJKLMNOPQRST-abcdefghijklmnopqrstuv

Обычно вам не нужно задавать его вручную, так как экспортированный файл токена содержит это значение.

/refreshTokenBodyFormat=<body format>

Используйте эту опцию, чтобы настроить тело запроса обновления токена OAuth2.

Значение по умолчанию:

refresh_token={refresh_token}&client_id={client_id}&client_secret={client_secret}&grant_type={grant_type}

/refreshTokenUrl=<URL>

Используйте эту опцию, чтобы задать URL-адрес запроса обновления токена OAuth2.

gsqlcmd использует значение /token_uri по умолчанию, если значение не указано.

/refreshTokenUrlFormat=<URL format>

Используйте эту опцию, чтобы настроить формат URL-адреса запроса обновления токена OAuth2.

Значение по умолчанию:

{refresh_token_url}

/requestTokenUrl=<URL>

Используйте эту опцию, чтобы задать URL-адрес службы OAuth1 для запроса токена.

/responseType=<type>

Используйте эту опцию, чтобы указать тип ответа OAuth2.

Например:

/responseType=code

OAuth2 определяет два типа ответа: code и token.

Однако, OAuth2 позволяет службам также определять расширенные типы. В этом случае, обратитесь к документации сервиса.

/revokeTokenBodyFormat=<body format>

Используйте эту опцию, чтобы настроить тело запроса отзыва токена OAuth2.

Значение по умолчанию:

token={refresh_token}

/revokeTokenUrl=<URL>

Используйте эту опцию, чтобы задать URL-адрес запроса отзыва токена OAuth2.

/revokeTokenUrlFormat=<URL format>

Используйте эту опцию, чтобы настроить формат URL-адреса запроса отзыва токена OAuth2.

Значение по умолчанию:

{revoke_token_url}

/scope=<scope>

Используйте эту опцию, чтобы указать область схемы аутентификации OAuth2.

Вы можете найти такие области в документации API целевой службы.

Ниже приведен пример для Google Search Console:

gsqlcmd get-token /clientJson=client_secret.json /tokenJson=access_token.json ^
                  /scope=https://www.googleapis.com/auth/webmasters.readonly

/serviceJson=<filename>

Используйте эту опцию, чтобы указать файл с параметрами службы вместо использования значений в командной строке.

Например:

gsqlcmd ... /clientJson=client.json /serviceJson=service.json /tokenJson=token.json ...

Службы позволяют экспортировать настройки клиентов и служб в один файл, обычно используемый с опцией /clientJson.

Этот параметр полезен для разделения параметров клиента и службы, если вы готовите файлы вручную.

Вы можете использовать формат JSON или обычный текст.

Ниже приведено рекомендуемое содержимое файла service.txt для Zoho CRM, в котором переопределены форматы OAuth2, используемые по умолчанию:

authorization_url_format={authorization_url}?scope={scope}&client_id={client_id}&response_type=code&access_type=offline&redirect_uri={redirect_uri}
authorization_url=https://accounts.zoho.com/oauth/v2/auth

get_token_url_format={accounts-server}/oauth/v2/token
get_token_body_format=grant_type=authorization_code&client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}&code={code}

refresh_token_url_format={accounts-server}/oauth/v2/token?refresh_token={refresh_token}&client_id={client_id}&client_secret={client_secret}&grant_type=refresh_token
refresh_token_body_format=

revoke_token_url_format={accounts-server}/oauth/v2/token/revoke?token={refresh_token}
revoke_token_body_format=

/tokenFields=<fields>

Используйте эту опцию, чтобы явно определить список полей, сохраненный в файле токена OAuth1/OAuth2.

Например:

/tokenFields=access_token,refresh_token,token_type,expires_in,valid_to

Ниже приведен пример для Zoho CRM с дополнительными полями:

/tokenFields=location,accounts-server,api_domain,access_token,refresh_token,token_type,expires_in,valid_to

В большинстве случаев gsqlcmd определяет такие поля автоматически. Более того, утилита автоматически создает такие списки при загрузке файлов токена.

/tokenJson=<file>

Используйте эту опцию, чтобы указать файл с токенами доступа и обновления.

gsqlcmd автоматически обновляет такие файлы при получении или обновлении токенов, например, в режимах get-token и [refresh-token](command-line-modes.htm #mode-refresh-token).

Например:

gsqlcmd refresh-token /clientJson=client_secret.json /tokenJson=access_token.json

Ниже приведен пример файла токена, полученного из Google Search Console API:

{
  "access_token": "ya29.abcdefghijklmnopqrstuv-1234567890123456789-abcdefghijklmnopqrstu_123456789012345678-abc-abcdefghijklmnopqrstuvwx-1234567890123",
  "expires_in": 3600,
  "refresh_token": "1/ABCDEFGHIJKLMNOPQRST-abcdefghijklmnopqrstuv",
  "scope": "https://www.googleapis.com/auth/webmasters.readonly",
  "token_type": "Bearer"
}

/tokenType=<type>

Используйте эту опцию, чтобы указать тип токена OAuth2.

Например:

/accessToken=12345 /tokenType=Bearer

Bearer - это значение по умолчанию.

Для этой опции также требуется токен доступа, указанный с помощью опций /accessToken или /tokenJson.

В качестве альтернативы вы можете установить заголовок авторизации напрямую с помощью опции /header, например:

"/header=Authorization: Bearer 12345"

/tokenUri=<URL>

Используйте эту опцию, чтобы задать URL-адрес, используемый по умолчанию для получения и обновления токена доступа OAuth2.

Например:

/token_uri=https://oauth2.googleapis.com/token

Эта опция полезна для загрузки URL-адресов сервисов из файлов клиентского приложения, экспортированных, например, из Google.

Если вы настраиваете службу вручную, то вместо этого их можно определить в опциях /getTokenUrl и /refreshTokenUrl.

/urlParameters=<value>

Используйте эту опцию, чтобы указать параметры URL пользовательского метода аутентификации.

Например:

gsqlcmd download https://localhost/crm/contacts /urlParameters=api_key=key

Фактический URL-адрес в этом случае выглядит как

https://localhost/crm/contacts?api_key=key

/username=<username>

Используйте эту опцию, чтобы задать имя пользователя для веб-ресурсов, защищенных схемами аутентификации Basic, Windows или Forms.

Например:

gsqlcmd download https://localhost/crm/contacts /username=user /password=pass

Если утилита не может получить данные с использованием учетных данных, попробуйте указать метод аутентификации вручную с помощью опции /auth, например:

gsqlcmd download https://localhost/crm/contacts /auth=Forms /username=user /password=pass

/validTo=<datetime>

Используйте эту опцию, чтобы установить время истечения срока действия токена OAuth1/OAuth2.

Например:

/validTo=2021-03-10T16:36:15.850Z

gsqlcmd использует это значение для автоматического обновления токенов.

Обычно вам не нужно задавать его вручную, так как экспортированный файл токена содержит это значение.