Используя Owin Security, я пытаюсь сделать API двумя методами аутентификации.
Есть ли свойство в переменной context
(OAuthGrantResourceOwnerCredentialsContext
), которая позволяет мне получить доступ к IP-адресу клиента , отправив исходный запрос для токена аутентификации к API?
Базовая полоса моего метода auth выглядит так:
public override async Task GrantResourceOwnerCredentials(
OAuthGrantResourceOwnerCredentialsContext context)
{
await Task.Run(() =>
{
var remoteIpAddresss = context.Request.RemoteIpAddress;
var localIpAddress = context.Request.LocalIpAddress;
// ... authenticate process goes here (AddClaim, etc.)
}
}
Из того, что я понимаю, remoteIpAddress
и localIpAddress
- это API (например, где размещен API). Как узнать, с какого IP-адреса (и порта) был отправлен запрос?
Нужно ли клиенту самостоятельно отправлять эту информацию?
Должен ли я добавлять дополнительные параметры в путь auth? (кроме типичных username
, password
, grant_type
)?