質問

username / display nameを取得しようとしていますが、サポートされている値は何もわかりません。emailrealnameを手に入れましたが、username / display nameを返すものがわかりません。

ENTER IMART Descriptionこちら

これについての資料や何かについての何かがありますか?

私の現在のコード:

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には表示名の概念がない、あなたのログインはあなたの電子メールアドレスです)ですが、オプションの "vanity ID"。

例えば:

画像の説明がここにある

https://ofollow.stackexchange.com/kevin.stackexchange.com/kevin.montrose 。これは、OpenID URLの手動入力を必要とする頼り当事者のためのエイリアスを覚えやすいだけです。

電子メールと実名/フルネームは唯一の属性の唯一の属性です。/browse/openidprovider/controllers/openidcontroller.cs#324 "コードのように" real="nofollow noreferrer">

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top