Nano Hash - криптовалюты, майнинг, программирование

сервер идентификации 4, идентификация Asp.net и

Я пытаюсь интегрировать сервер идентификации 4 с идентификатором asp.net, документация очень хорошая https://identityserver4.readthedocs.io/en/latest/quickstarts/6_aspnet_identity.html

Но я хотел бы иметь возможность установить соединение, не просматривая страницу входа, а сделать прямой доступ через простой GET при передаче параметров.

Я нашел эту статью: https://damienbod.com/2017/04/14/asp-net-core-identityserver4-resource-owner-password-flow-with-custom-userrepository/

с этим методом

var response = await _httpClient.RequestPasswordTokenAsync(new PasswordTokenRequest
{
    Address = _disco.TokenEndpoint,

    ClientId = "resourceownerclient",
    ClientSecret = "dataEventRecordsSecret",
    Scope = "email openid dataEventRecords offline_access",

    UserName = user,
    Password = password
});

Но не могу заставить его работать с Postman  Почтальон

У меня ошибка invalid_request

Вот заявление клиента:

new Client
{
    ClientId = "resourceownerclient",

    AllowedGrantTypes = GrantTypes.ResourceOwnerPasswordAndClientCredentials,
    AccessTokenType = AccessTokenType.Jwt,
    AccessTokenLifetime = 3600,
    IdentityTokenLifetime = 3600,
    UpdateAccessTokenClaimsOnRefresh = true,
    SlidingRefreshTokenLifetime = 30,
    AllowOfflineAccess = true,
    RefreshTokenExpiration = TokenExpiration.Absolute,
    RefreshTokenUsage = TokenUsage.OneTimeOnly,
    AlwaysSendClientClaims = true,
    Enabled = true,
    ClientSecrets=  new List<Secret> { new Secret("dataEventRecordsSecret".Sha256()) },
    AllowedScopes = {
        IdentityServerConstants.StandardScopes.OpenId, 
        IdentityServerConstants.StandardScopes.Profile,
        IdentityServerConstants.StandardScopes.Email,
        IdentityServerConstants.StandardScopes.OfflineAccess,
        "dataEventRecords"
    },
    AllowAccessTokensViaBrowser=true
}

Каков рекомендуемый способ использования Asp.net Identity таким образом?


Ответы:


1

В запросе почтальона отсутствует grant_type:

POST /connect/token

    client_id=resourceownerclient&
    client_secret=dataEventRecordsSecret&
    grant_type=password&
    username=damienbod&
    password=damienbod&
    scope=email%20openid%20dataEventRecords%20offline_access

Не уверен, что это единственная проблема, но определенно одна из них. Журналы сервера идентификации будут содержать более подробную информацию о том, что не так с запросом, если это не единственная проблема.

28.07.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..