Я пытаюсь добавить пользовательский ресурс / область и для своего тестирования я выбрал его как электронную почту, но, насколько я понимаю, он может иметь любое значение. Так что для моих ресурсов у меня есть это:
return new List<IdentityResource>
{
new IdentityResources.OpenId(),
new IdentityResources.Profile(),
new IdentityResource("email", "Email", new [] { "email" })
//new IdentityResources.Email() -- This was tried as well, same error.
};
return new List<ApiResource> { new ApiResource("test", "Test") };
Тогда для областей на клиенте это выглядит следующим образом:
AllowedScopes = new List<string>
{
"openid", "profile", "email", "test"
}
Однако, когда я запрашиваю токен с http://localhost:5000/connect/authorize?Scope=test email
, на странице появляются ошибки, и в моих минимумах я вижу
2019-07-05 11: 08: 00.681 -04: 00 [ERR] Недопустимая область: электронная почта
2019-07-05 11: 08: 00.684 -04: 00 [ERR] Ошибка проверки запроса
Я действительно не уверен, где я ошибся. Согласно всем документам и SO сообщениям, которые я нашел, вот как это делается.
РЕДАКТИРОВАТЬ: произошла внутренняя ошибка, которая была упущена из виду и приводила к неправильной передаче List<IdentityResource>
. Тем не менее, даже после устранения проблемы все равно возникает проблема с другим сообщением об ошибке:
Идентификационные запросы, связанные с областью действия, но без открытой области
Редактировать 2:
После некоторой справочной формы d_f я понял, что мне нужно обновить мой запрос, который теперь выглядит следующим образом:
/ connect / authorize? Scope = тестирование openid email & response_type = id_token token & nonce = NONCE
Теперь я авторизован и могу видеть объем электронной почты в претензиях. Однако, несмотря на то, что я вижу электронную почту как область действия, я нигде не вижу фактическую электронную почту в претензиях.