RealmId没有回到Quickbooks Online的OpenID流程中

时间:2013-12-19 17:24:48

标签: intuit-partner-platform quickbooks-online

我有一个在线Quickbooks的请求,以实现正确的单点登录(SSO)流程。我正在使用openid4java并取回名字,姓氏和电子邮件地址,但没有领域ID。

我使用已发布的Intuit代码作为示例,我的fetcher看起来像这样: final FetchRequest fetch = FetchRequest.createFetchRequest();

    try {
        fetch.addAttribute("FirstName", "http://axschema.org/namePerson/first", true);
        fetch.addAttribute("LastName", "http://axschema.org/namePerson/last", true);
        fetch.addAttribute("Email", "http://axschema.org/contact/email", true);
        fetch.addAttribute("RealmId", "http://axschema.org/intuit/realmId", true);
    } catch (MessageException e) {
        mLogger.warning(e.getLocalizedMessage());
        e.printStackTrace();
    }

我的身份验证请求如下:

openid.ns:http://specs.openid.net/auth/2.0
openid.claimed_id:http://specs.openid.net/auth/2.0/identifier_select
openid.identity:http://specs.openid.net/auth/2.0/identifier_select
openid.return_to:http://localhost:8888/qbopenid
openid.realm:http://localhost:8888/qbopenid
openid.assoc_handle:o5SH!IAAAACLd1tm9oBJwwIhLZnb4uHYSvphLvPKupx_kJsjquipfQQAAAAEgqUSt5DXPSGwQ79I7lFlHh8gGWpBFaXdjr6diKdticDtCpv8EgpBpO3lDHIhT-275K8lDxZWoeLxqABigxYjf
openid.mode:checkid_setup
openid.ns.ext1:http://openid.net/srv/ax/1.0
openid.ext1.mode:fetch_request
openid.ext1.type.FirstName:http://axschema.org/namePerson/first
openid.ext1.type.LastName:http://axschema.org/namePerson/last
openid.ext1.type.Email:http://axschema.org/contact/email
openid.ext1.type.RealmId:http://axschema.org/intuit/realmId
openid.ext1.required:FirstName,LastName,Email,RealmId

但是当返回请求时,我在请求中没有看到任何提及领域id的内容。它几乎就像失踪一样。知道什么是错的吗?谢谢!

1 个答案:

答案 0 :(得分:2)

请参阅此处的说明:

https://developer.intuit.com/docs/0025_quickbooksapi/0010_getting_started/0030_integrate_your_app/0030_signing_into_and_out_of_intuit_from_within_your_app/sign-in/implement_sso_and_openid_in_your_app

只有在领域和应用程序之间存在活动连接时以及用户从App Center启动应用程序或从Blue Dot菜单导航到应用程序时,才能获取此字段。

您将在OAuth流程结束时返回领域,以将其与访问令牌相关联。它并不总是由OpenID返回。