gpt4 book ai didi

c# - Stack Exchange OpenID 支持哪些额外值?

转载 作者:行者123 更新时间:2023-11-30 22:24:43 25 4
gpt4 key购买 nike

我正在尝试获取用户名/显示名称,但我不知道支持的值是什么。我得到了 emailrealname,但我不知道返回username/display name 的是什么。

enter image description here

是否有关于此的文档或其他内容?

我当前的代码:

public class StackExchangeOpenID : OpenIdClient
{
public StackExchangeOpenID()
: base("stackexchange", "https://openid.stackexchange.com")
{

}

protected override Dictionary<string, string> GetExtraData(IAuthenticationResponse response)
{
FetchResponse fetchResponse = response.GetExtension<FetchResponse>();
if (fetchResponse != null)
{
var extraData = new Dictionary<string, string>();
extraData.Add("email", fetchResponse.GetAttributeValue(WellKnownAttributes.Contact.Email));
extraData.Add("name", fetchResponse.GetAttributeValue(WellKnownAttributes.Name.FullName));

// returned value: null
//extraData.Add("username", fetchResponse.GetAttributeValue(WellKnownAttributes.Name.Alias));

return extraData;
}

return null;
}
protected override void OnBeforeSendingAuthenticationRequest(IAuthenticationRequest request)
{
var fetchRequest = new FetchRequest();
fetchRequest.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
fetchRequest.Attributes.AddRequired(WellKnownAttributes.Name.FullName);

// returned value: null
//fetchRequest.Attributes.AddRequired(WellKnownAttributes.Name.Alias);

request.AddExtension(fetchRequest);
}
}

最佳答案

你的箭头指向的不是显示名称(StackID 没有显示名称的概念,你的登录名是你的电子邮件地址),而是一个可选的“虚荣 ID”。

例如:

enter image description here

给我虚荣的 OpenID https://openid.stackexchange.com/kevin.montrose .对于需要手动输入 OpenID url 的依赖方来说,这只是一个更容易记住的别名。

电子邮件和真实姓名/全名是 StackID 唯一支持查询的属性,并将通过 SREG 或 AX 扩展(as seen in the code)返回这两个属性。

关于c# - Stack Exchange OpenID 支持哪些额外值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654041/

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