CreateOAuthState

Синтаксис

CreateOAuthStateResult CreateOAuthState(CreateOAuthStateArg tArg)

Параметры

tArg. Параметры выполнения операции.

Описание

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

Комментарии

Для выполнения операции укажите в поле tArg.svcKey ключ сервиса авторизации. Ключ может быть получен в результате выполнения операции GetOAuthSettings.

Результатом выполнения операции будет адрес сервиса авторизации, который дополнен сгенерированным параметром state для защиты от потенциальных атак типа CSRF при получении кода авторизации. Для получения подробной информации обратитесь к разделу «Настройка аутентификации через внешние сервисы».

Пример

Ниже приведён пример получения адреса сервиса авторизации. В запросе передаётся ключ сервиса авторизации. В ответе возвращается сформированный адрес.

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CreateOAuthState xmlns="http://www.fsight.ru/PP.SOM.Som">
<tArg xmlns="">
  <svcKey>0</svcKey>
  </tArg>
  </CreateOAuthState>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<CreateOAuthStateResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <authUrl xmlns="">https://accounts.google.com/o/oauth2/auth/authorize?client_id=214433571309-nl9btulcqc3u05d8128uaei3fjrdni8r.apps.googleusercontent.com&response_type=code&access_type=offline&scope=https%3A//www.googleapis.com/auth/userinfo.profile&response_mode=query&state=ED9F5DF6E55440CDA86561A87A71CD33&redirect_uri=</authUrl>
  </CreateOAuthStateResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"CreateOAuthState" :
{
"tArg" :
{
"svcKey" : "0"
}
}
}

JSON-ответ:

{
"CreateOAuthStateResult" :
{
"authUrl" : "https:\/\/accounts.google.com\/o\/oauth2\/auth\/authorize?client_id=214433571309-nl9btulcqc3u05d8128uaei3fjrdni8r.apps.googleusercontent.com&response_type=code&access_type=offline&scope=https%3A\/\/www.googleapis.com\/auth\/userinfo.profile&response_mode=query&state=ED9F5DF6E55440CDA86561A87A71CD33&redirect_uri="
}
}
public static CreateOAuthStateResult CreateOAuthState(uint key)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tCreate = new CreateOAuthState()
{
tArg = new CreateOAuthStateArg()
{
svcKey = key
}
};
// Получение адреса сервиса авторизации
var result = somClient.CreateOAuthState(tCreate);
return result;
}

См. также:

Работа с репозиторием