在其中哪一个上设置服务器到服务器JWT最容易?我已经有了一个现有的JWT令牌,我需要设置整个服务器才能传递令牌吗?
我有一个需求用例为托管在另一台服务器上的web创建一个客户端,但不知道如何将.NET核心中的凭据传递到另一台服务器,我只需要能够使用C#将GET和POST构建到远程服务器API中,并构建一些图表来显示GET的结果。
发布于 2017-10-02 17:36:21
您可以设置cookie,然后重定向到子域。这种方法的好处是它可以防止Pinpiont指出的XSRF/会话固定攻击。缺点是两个站点都必须驻留在某个域上。
[RequireHttps]
public IActionResult Redirect()
{
var token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
const string domain = "subdomain.example.com";
Response.Cookies.Append("token", token, new CookieOptions {
Domain = domain,
Expires = DateTime.Now.AddHours(1),
HttpOnly = true,
Path = new PathString("/Account"),
Secure = true,
});
return Redirect($"https://{domain}/Account");
}发布于 2021-10-11 10:15:22
如果您打算使用.Net 6,则需要考虑Identity Server5的定价模型。
因为Identity Server 4是免费的,不支持.Net 6。
Identity Server 5的许可证仅对非商业项目和商业项目免费,前提是您的收入低于100万美元。而且似乎在许可证中,如果你在该许可证下制作,你只能免费使用它一年。
这对OpenIddict来说是一个很大的优势,因为它是免费的。
发布于 2017-09-20 22:29:32
如果你已经有了一个令牌,那么你就不需要IdentityServer4或OpenIddict。IdentityServer4和OpenIddict会根据请求颁发令牌,但您似乎已经在本地自行颁发了令牌。
我将令牌从站点A发送到站点B,使用的表单通过HTTPS进行发布。
<form action="https://other-server.example.com/Account/" method="post" id="form">
<input name="token" type="hidden" value="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...">
</form>您还可以使用JavaScript自动提交表单。
<script>
document.getElementById('form').submit();
</script>https://stackoverflow.com/questions/42611111
复制相似问题