
Идентификация / OIDC
MtsIdNet
.NET SDK для МТС «Мобильный ID» (OIDC/OAuth2)
netstandard2.0net8.0net10.0
Возможности
- Подписанный объект request (RS256) для si-authorize
- Публикация JWKS на встроенной криптографии
- Серверная аутентификация (SI / CIBA)
- Откат на SMS-OTP и валидация id_token
- Данные пользователя (premiuminfo) и KYC (kyc-match-split)
Установка
dotnet add package MtsIdNetБыстрый старт
using MtsIdNet;
var client = new MtsIdClient(httpClient, new MtsIdClientOptions
{
ClientId = "mts_test_service",
SigningKey = MtsKeys.RsaFromPem(File.ReadAllText("sp-private.pem")),
SigningKeyId = "rsa_kid",
NotificationUri = "https://service-provider.io/notification_uri/",
});
// Publish your JWKS so Mobile ID can verify the signed request:
string jwksJson = client.BuildPublishedJwks().ToJson();
// Start a server-initiated (CIBA) authentication:
var result = await client.SiAuthorizeAsync(new RequestObjectParameters
{
Scope = $"{MtsIdConstants.Scopes.OpenId} {MtsIdConstants.Scopes.Authn}",
LoginHint = RequestObjectParameters.ForMsisdn("+7 915 000 00 00"),
ClientNotificationToken = Guid.NewGuid().ToString(),
});Основные методы
SiAuthorizeAsyncЗапуск аутентификации (CIBA)BuildPublishedJwksПубличный JWKSVerifySmsCodeAsyncПроверка SMS-OTPGetPremiumInfoAsyncДанные пользователяKycMatchAsyncВерификация данных (KYC)READMEgithub.com/ai-iskuzhin/MtsIdNet
Загружаем README из репозитория…