Jak konsumować dodatkowe parametry w żądaniu tokenu OAuth2 w aplikacji .net WebApi2

Mam projekt specyficzny dla API w dużym rozwiązaniu internetowym MVC 5 .net. Korzystam z szablonów WebApi2 po wyjęciu z pudełka, aby uwierzytelnić użytkownika za pomocą interfejsu API. Użycie indywidualnych kont do uwierzytelnienia wymaga, aby treść żądania była wymagana do uzyskania tokena dostępu:

grant_type=password&username={someuser}&password={somepassword}

To działa zgodnie z oczekiwaniami.

Jednak muszę dodać trzeci wymiar do metody rusztowania „GrantResourceOwnerCredentials”. Oprócz sprawdzenia nazwy użytkownika / hasła, muszę dodać identyfikator urządzenia, który ma na celu ograniczenie dostępu z konta użytkownika do konkretnego urządzenia. Nie jest jasne, jak dodać te dodatkowe parametry żądania do już zdefiniowanego „OAuthGrantResourceOwnerCredentialsContext”. W tym kontekście jest obecnie miejsce na nazwę użytkownika i hasło, ale oczywiście muszę dodać więcej.

Moje pytanie brzmi po prostu: czy istnieje standardowy sposób rozszerzenia wymagań logowania dla żądania tokenu OWIN OAuth2 w celu uwzględnienia większej ilości danych? A jak byś to zrobił w środowisku .NET WebApi2?

questionAnswers(1)

yourAnswerToTheQuestion