Сохранение токена с Identity Server3 - PullRequest
0 голосов
/ 20 января 2020

Мы пытаемся поместить журнал в нашу базу данных для временного хранения access_tokens с сервера идентификации для целей отладки. Но я не могу ничего найти. Я использую это для аутентификации пользователей

publi c class UserService: UserServiceBase {
private readonly IUserRepository _userRepository;

public UserService(IUserRepository _userRepository)
{
    this._userRepository = _userRepository;
}

public override Task AuthenticateExternalAsync(ExternalAuthenticationContext context)
{
    return base.AuthenticateExternalAsync(context);
}

public override async Task AuthenticateLocalAsync(LocalAuthenticationContext context)
{
    var pass = fNewEncryptText(context.Password, ConnectionStrings["LM_Authentication"].ConnectionString).Trim();
    var user = await _userRepository.GetAsync(context.UserName, pass);
    if (user == null)
    {
        context.AuthenticateResult = new AuthenticateResult("Incorrect credentials");
        return;
    }

    context.AuthenticateResult = new AuthenticateResult(context.UserName, context.UserName);

}

}

После получения правильных учетных данных, идентификатора клиента и его секрета. Нам нужно получить access_token, сгенерированный Identity Server, кстати, мы все еще используем IdentityServer3.

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImhzSHM4d0JQNGJWTlZLR3hCSWhidWEwWlU0dyIsImtpZCI6ImhzSHM4d0JQNGJWTlZLR3hCSWhidWEwWlU0dyJ9.eyJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjEzNDciLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjEzNDcvcmVzb3VyY2VzIiwiZXhwIjoxNTc5NTA3NjU5LCJuYmYiOjE1Nzk1MDU4NTksImNsaWVudF9pZCI6ImxhbmRtYXJrQVBJIiwic2NvcGUiOlsib2ZmbGluZV9hY2Nlc3MiLCJvcGVuaWQiLCJwcm9maWxlIl0sInN1YiI6ImFkbWluIiwiYXV0aF90aW1lIjoxNTc5NTA1ODU4LCJpZHAiOiJpZHNydiIsImFtciI6WyJwYXNzd29yZCJdfQ.AVoyCoayKC82t7coOHWkl0uPu7Uofvcq281VAfk0z919pKCWAQ389ls6AH2AKBgjfJhaNVOkGw9nz98VFkFJPt0RnazEty9KXsX3Ixa8OHP_KzkWyVGQmO0aWfkYswPsGxe3WpI1TudXuP4aummdrNuycWByMOys6acJxXTVy8iM0Blt9GHy3hnCy9Kz--xjbCi3sOvaPLK32JAYWAZKH_MZeHePCBoLnwpvh4ZDYX0jxp06uZvpp3HS5b5rxb7pToEj9ljUEWZ9SiDsXhIAW6mMNadbDDEvv1KJ-RrFQMnyxwpDZTxcVVaPEvgqaZP3daVlevpHeMqGz-gZXXuO1A",
    "expires_in": 1800,
    "token_type": "Bearer",
    "refresh_token": "7659bad15a3215ba29fa5d6dfd68a8ed"
}

Есть ли способ получить тег access_token?

Также есть ли способ отладки «Сообщение»: «В этом запросе отказано в авторизации». когда они вводят неверный access_token? Нам нужно временно сохранить это и в нашей базе данных.

...