2

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

ここに画像の説明を入力してください

これに関するドキュメントなどはありますか?

私の現在のコード:

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);
    }
}
4

1 に答える 1

3

矢印が指しているのは、表示名ではなく(StackIDには表示名の概念がなく、ログインは電子メールアドレスです)、オプションの「VanityId」です。

例えば:

ここに画像の説明を入力してください

https://openid.stackexchange.com/kevin.montroseのバニティOpenIDを教えてください。これは、OpenIDURLの手動入力を必要とする依存関係者にとって覚えやすいエイリアスです。

電子メールと実名/フルネームは、StackIDがクエリをサポートする唯一の属性であり、SREGまたはAX拡張機能のいずれかを介して返されます(コードに示されているように)。

于 2012-10-02T19:50:28.420 に答える