gpt4 book ai didi

c# - 向不记名 token json 添加更多值

转载 作者:太空宇宙 更新时间:2023-11-03 23:05:03 24 4
gpt4 key购买 nike

我想在他们登录成功后返回用户名,以显示在我的网络应用程序的右上角。我想用承载 token 返回的 json 发送它。为了生成 token 身份验证,我使用 ASP.NET Web API 和 Owin middlehawe。

{   
"access_token": "blah",
"token_type": "bearer",
"expires_in": 599
}

我希望返回是这样的

{   
"access_token": "blah",
"token_type": "bearer",
"expires_in": 599,
"displayusername":"Hi Mundo"
}

我已经尝试过声明,但没有给出我想要的结果。

我尝试过使用 AuthenticationProperties 但不起作用

 public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
if (validation works)
{
// add claims

var moreInfo = new AuthenticationProperties(new Dictionary<string, string> { { "username", "Don"}, { "Department","MIS"} });

var ticket = new AuthenticationTicket(identity, moreInfo);
context.Validated(ticket);
}
else
{
context.SetError("invalid_grant", "The user name or password is incorrect.");
}
}

如何向 owin 不记名 token 返回的 json 添加更多值?

最佳答案

覆盖 TokenEndpointResponse 您正在检查有效性的同一个类并返回附加字段,如下面的示例所示

public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context)
{
string thisIsTheToken = context.AccessToken;
//add user Id and status as additional response parameter
context.AdditionalResponseParameters.Add("displayusername", "Hi Mundo");
context.AdditionalResponseParameters.Add("Status", "1");
return base.TokenEndpointResponse(context);
}

关于c# - 向不记名 token json 添加更多值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41597916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com