Как использовать пакет
Руководство по интеграции
Этот пример показывает внешний сценарий: ваша система вызывает РосАвт только для подтверждения звонком, а решение о выдаче локальной сессии принимает уже ваш собственный backend.
РосАвт не подменяет вашу SSO-модель. Он даёт только защищённый внешний механизм подтверждения звонком.
Что получает клиент
После интеграции ваше приложение сможет запускать подтверждение звонком, получать результат через вебхук и принимать собственное решение: авторизовать пользователя, подтвердить действие или запросить дополнительную проверку.
Для подключения нужны только токен компании, базовый URL `https://rusauth.ru/auth-client-api/` и ваш callback URL. Если вебхук временно недоступен, вы всегда можете проверить результат вручную через `CheckConfirmation`.
appsettings.json
{
"RusAuth": {
"BaseUrl": "https://rusauth.ru/auth-client-api/",
"Token": "ВАШ_ТОКЕН_КОМПАНИИ",
"TimeOut": 15
},
"Example": {
"CallbackBearerToken": "ВАШ_ЛОКАЛЬНЫЙ_CALLBACK_BEARER"
}
}Program.cs
using RusAuth.Authorization.Contracts.Rest;
using RusAuth.Authorization.Extensions;
builder.Services.AddRusAuthConfirmationClient(new RusAuthOptions
{
BaseUrl = builder.Configuration["RusAuth:BaseUrl"]!,
Token = builder.Configuration["RusAuth:Token"]!,
TimeOut = 15
});Запуск подтверждения
var response = await rusAuthClient.CallToConfirmAsync(new RusAuthCallToConfirmRequest
{
PhoneNumber = new RusAuthPhoneNumber
{
CountryCode = 7,
Number = 9991234567
},
ExpirationMinute = 10,
WebHook = "https://client.example.com/api/rusauth/callback/confirmation",
WebHookBearerToken = "client-callback-bearer-token"
}, cancellationToken);Ручная проверка статуса
var status = await rusAuthClient.CheckConfirmationAsync(new RusAuthCheckConfirmationRequest
{
PhoneNumber = new RusAuthPhoneNumber
{
CountryCode = 7,
Number = 9991234567
},
TransactionId = response.TransactionId
}, cancellationToken);Вебхук-контракт
POST /api/rusauth/callback/confirmation
Authorization: Bearer <ваш локальный callback bearer>
{
"transactionId": "f3d2d9d0d8cf4d8e8fbb0e1090f7d245",
"clientPhoneNumber": {
"countryCode": 7,
"number": 9991234567
}
}Что должен сделать клиент
1. Сохранить TransactionId и номер клиента в своей системе.
2. Дождаться вебхук или выполнить ручную проверку через CheckConfirmation.
3. После статуса Success применить свои правила входа, подтверждения операции или подтверждения действия.
4. Не считать РосАвт своей SSO-системой: РосАвт даёт только механизм подтверждения звонком.