У меня есть веб-сайт JS, который пытается получить токен доступа, передавая имя пользователя и пароль. Я также поддерживаю сервер авторизации, поэтому я считаю клиент JS доверенным. Я могу сделать это с помощью ASP.net 4.5.x. но когда я пытаюсь сделать то же самое с IdentityServer, я получаю invalid_client.
Сейчас я пробую ASP.net 5, и я считаю, что старое промежуточное ПО OWIN для работы в качестве поставщика удостоверений больше не будет поддерживаться, и они защищают IdentityServer, когда мы хотим быть поставщиком удостоверений.
POST /connect/token HTTP/1.1
Host: localhost:59766
Content-Type: application/x-www-form-urlencoded
username=admin&password=pw&grant_type=password
Я думаю, что IdentityServer сначала требует информацию о клиенте, но это будет означать, что мне придется выставлять client_secret на веб-странице (или в родном мобильном приложении), что, я считаю, не разрешено согласно спецификациям OAuth.
Как отключить требование клиента с помощью IdentityServer?
На github IdentityServer я вижу только код C#, который собирает учетные данные клиента, а также имя пользователя и пароль для получения токена доступа для потока учетных данных владельца ресурса здесь. Что такое эквивалентный необработанный HTTP-запрос?
Лично меня не волнует, попытается ли другое приложение выдать себя за моего клиента. Это действительно учетные данные пользователя, которые в любом случае разрешат доступ к чему-либо.