Это поведение отличается от ведущей ветви и ветви v4.0 DotNetOpenAuth на момент написания. Я использую тип полномочий Credentials владельца ресурса с открытым клиентом. Мастер-ветвь выдает токен, как ожидалось. Ветвь v4.0 считает запрос недопустимым. Поток выполнения заканчивается в AccessRequestBindingElement.ProcessIncomingMessage
способе, где выполняется следующий код:Можно ли использовать тип гранта P/C владельца с открытым клиентом с DotNetOpenAuth?
// Check that the client secret is correct.
var client = this.AuthorizationServer.GetClientOrThrow(accessRequest.ClientIdentifier);
string secret = client.Secret;
ErrorUtilities.VerifyProtocol(!string.IsNullOrEmpty(secret), Protocol.unauthorized_client); // an empty secret is not allowed for client authenticated calls.
Поскольку клиент является открытым, код генерирует ошибку. Однако комментарий в приведенном выше коде означает, что грант является аутентифицированным клиентом, а не учетными данными пароля владельца ресурса. Я это неправильно называю?
В главной ветке работает тот же звонок.