Веб-сервер Katana не находит clientSecret

Я загрузил проект katana и хотел попробовать клиент / сервер в проекте песочницы.

Я столкнулся с проблемой для OAuthValidateClientAuthenticationContext:

public bool TryGetFormCredentials(out string clientId, out string clientSecret)
{
    clientId = Parameters.Get(Constants.Parameters.ClientId);
    if (!String.IsNullOrEmpty(clientId))
    {
        clientSecret = Parameters.Get(Constants.Parameters.ClientSecret);
        ClientId = clientId;
        return true;
    }
    clientId = null;
    clientSecret = null;
    return false;
}

clientSecret имеет значение null и, следовательно, следующие данные не подтверждают клиента.

    private Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
    {
        string clientId;
        string clientSecret;
        if (context.TryGetBasicCredentials(out clientId, out clientSecret) ||
            context.TryGetFormCredentials(out clientId, out clientSecret))
        {
            if (clientId == "123456" && clientSecret == "abcdef")
            {
                context.Validated();
            }
            else if (context.ClientId == "7890ab" && clientSecret == "7890ab")
            {
                context.Validated();
            }
        }
        return Task.FromResult(0);

    }

person Poul K. Sørensen    schedule 14.09.2013    source источник


Ответы (1)


Убедитесь, что параметр client_secret не содержит пробелов в вашем сообщении.

client_secret[space] will fail.
person dynamiclynk    schedule 05.11.2014
comment
Я просто пометил это как ответ, так как это было больше года назад, я создал сообщение, и я даже не уверен, что репозиторий katana больше выглядит так. Спасибо за ответ. - person Poul K. Sørensen; 06.11.2014
comment
Спасибо @pksorensen. Да, я опубликовал этот ответ, так как столкнулся с этим сегодня, когда отправлял свои параметры, по-видимому, структура Owin.Security.OAuth не обрезает пространство для входящих параметров. - person dynamiclynk; 06.11.2014