Идентификация / OIDC

MtsIdNet

.NET SDK для МТС «Мобильный ID» (OIDC/OAuth2)

MtsIdNet version on NuGetMtsIdNet downloads on NuGetMITC#
netstandard2.0net8.0net10.0

Возможности

  • Подписанный объект request (RS256) для si-authorize
  • Публикация JWKS на встроенной криптографии
  • Серверная аутентификация (SI / CIBA)
  • Откат на SMS-OTP и валидация id_token
  • Данные пользователя (premiuminfo) и KYC (kyc-match-split)

Установка

bash
dotnet add package MtsIdNet

Быстрый старт

csharp
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Публичный JWKS
VerifySmsCodeAsyncПроверка SMS-OTP
GetPremiumInfoAsyncДанные пользователя
KycMatchAsyncВерификация данных (KYC)
READMEgithub.com/ai-iskuzhin/MtsIdNet
Загружаем README из репозитория…