Owin auth - как получить IP-адрес клиента, запрашивающего токен auth
используя Owin Security, я пытаюсь сделать API иметь 2 метода аутентификации.
есть ли свойство в 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
)?
1 ответов
Итак, чтобы ответить на мой собственный вопрос, поправьте меня, если я ошибаюсь, но:
var remoteIpAddresss = context.Request.RemoteIpAddress;
- это IP клиента адрес (пользователь, запрашивающий токен auth) и
var localIpAddress = context.Request.LocalIpAddress;
- это IP Web Api адрес (где размещается API).