Owin auth - 如何获取请求身份验证令牌的客户端的 IP 地址
Owin auth - how to get IP address of client requesting the auth token
使用 Owin Security,我试图让 API 有 2 种身份验证方法。
context
变量 (OAuthGrantResourceOwnerCredentialsContext
) 中是否有一个 属性 让我访问 的 IP 地址 =]client 向 API?
发送对身份验证令牌的初始请求
我的身份验证方法的基本条如下所示:
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 地址(和端口)?
客户是否需要自己发送此信息?
我应该向授权路径添加额外的参数吗? (除了典型的 username
、password
、grant_type
)?
所以,回答我自己的问题,如果我错了请纠正我,但是:
var remoteIpAddresss = context.Request.RemoteIpAddress;
是客户端的IP地址(用户请求授权令牌),
var localIpAddress = context.Request.LocalIpAddress;
是 Web Api 的 IP 地址(托管 API 的地址)。
使用 Owin Security,我试图让 API 有 2 种身份验证方法。
context
变量 (OAuthGrantResourceOwnerCredentialsContext
) 中是否有一个 属性 让我访问 的 IP 地址 =]client 向 API?
我的身份验证方法的基本条如下所示:
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 地址(和端口)?
客户是否需要自己发送此信息?
我应该向授权路径添加额外的参数吗? (除了典型的 username
、password
、grant_type
)?
所以,回答我自己的问题,如果我错了请纠正我,但是:
var remoteIpAddresss = context.Request.RemoteIpAddress;
是客户端的IP地址(用户请求授权令牌),
var localIpAddress = context.Request.LocalIpAddress;
是 Web Api 的 IP 地址(托管 API 的地址)。