首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sreg Yahoo问题

sreg Yahoo问题
EN

Stack Overflow用户
提问于 2009-08-21 12:16:33
回答 1查看 1K关注 0票数 0

你能看看这个问题吗:

你可以在"https://test-id.org/OP/Sreg.aspx“上测试雅虎sreg。

ID:"https://me.yahoo.com/“用户名: goughev@yahoo.com密码: paranoid

现在的问题是

这段代码适用于谷歌,但不适用于Yahoo sreg,因为response.GetUntrustedExtension() alwase为雅虎的属性返回空值

代码语言:javascript
复制
        var opUrl = LoginCore.GetProviderUrl(provider, openId);
        var openIdRelyingParty = new OpenIdRelyingParty(null);
        var response = openIdRelyingParty.GetResponse();
        Identifier id;

        if (response == null)
        {
            if (Identifier.TryParse(opUrl, out id))
            {
                try
                {
                    var claim = new ClaimsRequest();
                    claim.Email = DemandLevel.Require;
                    claim.FullName = DemandLevel.Request;
                    claim.Gender = DemandLevel.Request;
                    claim.Nickname = DemandLevel.Require;
                    var request = openIdRelyingParty.CreateRequest(opUrl);

                    request.AddExtension(claim);
                    return request.RedirectingResponse.AsActionResult();
                }
                catch (Exception ex)
                {
                }
            }
            else
            {
                Model.Errors.Add(GeneralErrors.Unexpected());
                return View("SignupUnTrustedOpenId");
            }
        }
        else
        {
            switch (response.Status)
            {
                case AuthenticationStatus.Authenticated:
                   var claimsData = response.GetUntrustedExtension<ClaimsResponse>();
                    if (claimsData != null)
                    {
                        email = claimsData.Email;

我正在使用以下配置:

代码语言:javascript
复制
<dotNetOpenAuth>
    <openid>
        <relyingParty>
            <security requireSsl="false" ignoreUnsignedExtensions="false" maximumHashBitLength="256" minimumHashBitLength="160" rejectDelegatingIdentifiers="true" rejectUnsolicitedAssertions="false" requireAssociation="false" requireDirectedIdentity="false" />
            <behaviors>
                <add type="DotNetOpenAuth.OpenId.Behaviors.AXFetchAsSregTransform, DotNetOpenAuth" />
            </behaviors>
        </relyingParty>
    </openid>
    <messaging>
        <untrustedWebRequest>
            <whitelistHosts>
                <add name="localhost" />
            </whitelistHosts>
        </untrustedWebRequest>
    </messaging>
</dotNetOpenAuth>

我使用的是latiest版本3.2.0.9177

非常感谢您的帮助

维塔利

EN

回答 1

Stack Overflow用户

发布于 2009-08-23 01:14:06

雅虎的SREG扩展支持目前仅处于测试阶段。雅虎只愿意将SREG支持暴露给白名单上的RP。See here.

我用我自己的雅虎账号通过了test-id.org测试,它起作用了。添加sreg扩展的代码看起来不错。所以我怀疑唯一的问题是你还不在雅虎的白名单上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1311607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档