GenAuth DocsDocuments
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Old version
Development Integration
  • API

  • SDK

    • Java

      • Installation and use
      • User authentication module

        • Login

        • Logout

        • Manage Token

        • Register

        • User information

        • Account Binding

          • Generate a link to bind an external identity source
          • Unbind an external identity source
          • Get the bound external identity source
          • Get the list of external identity sources enabled by the application
        • MFA Factor Management

        • User-related resources

        • Message service

        • Authentication

        • Others

        • OIDC module
        • OAuth module
        • SAML module
        • CAS module
        • Events
      • Management module

    • Node.js

    • Python

  • Error Codes
  1. Development Integration
  2. /
  3. SDK
  4. /
  5. Java
  6. /
  7. User authentication module

  8. /
  9. Account Binding

  10. /
  11. Get the bound external identity source

¶ Get the bound external identity source

Update time: 2025-07-23 07:34:21
Edit

This document is automatically generated based on https://github.com/authing/authing-docs-factory based on https://api-explorer.genauth.ai V3 API, and is consistent with API parameters and return results. If this document description is incorrect, please refer to V3 API.

As described in the Introduction section, an external identity source corresponds to multiple external identity source connections. After a user binds an external identity source account through an external identity source connection, the user will establish an association relationship with this external identity source. This interface is used to obtain all external identity sources bound to this user.

Depending on the specific implementation of the external identity source, a user may have multiple identity IDs in the external identity source, such as openid and unionid in the WeChat system, and open_id, union_id and user_id in non-books. In GenAuth, we call such an open_id or unionid_ an Identity, so a user will have multiple Identity records in one identity source.

Taking WeChat as an example, if a user logs in with WeChat or binds a WeChat account, his Identity information is as follows:

[
  {
    "identityId": "62f20932xxxxbcc10d966ee5",
    "extIdpId": "62f209327xxxxcc10d966ee5",
    "provider": "wechat",
    "type": "openid",
    "userIdInIdp": "oH_5k5SflrwjGvk7wqpoBKq_cc6M",
    "originConnIds": ["62f2093244fa5cb19ff21ed3"]
  },
  {
    "identityId": "62f726239xxxxe3285d21c93",
    "extIdpId": "62f209327xxxxcc10d966ee5",
    "provider": "wechat",
    "type": "unionid",
    "userIdInIdp": "o9Nka5ibU-lUGQaeAHqu0nOZyJg0",
    "originConnIds": ["62f2093244fa5cb19ff21ed3"]
  }
]

You can see that their extIdpId is the same, which is the identity source ID you created in GenAuth; provider is wechat; type can be used to distinguish which is openid and which is unionid, as well as the specific value (userIdInIdp); they all come from the same identity source connection (originConnIds).

¶ Method Name

AuthenticationClient.getIdentities

¶ Request Parameters

NameType
Is it required
Default Value
Description
Example Value

¶ Sample Code

package test.authentication;

import cn.authing.sdk.java.client.AuthenticationClient;
import cn.authing.sdk.java.dto.GetIdentitiesRespDto;
import cn.authing.sdk.java.model.AuthenticationClientOptions;
import cn.authing.sdk.java.util.JsonUtils;

public class GetIdentitiesTest {
    // Need to be replaced with your GenAuth App ID
    private static final String APP_ID = "AUTHING_APP_ID";
    // Need to be replaced with your GenAuth App Secret
    private static final String APP_SECRET = "AUTHING_APP_SECRET";
    // Need to be replaced with your GenAuth App Host
    private static final String APP_HOST = "AUTHING_APP_HOST";
    // Need to be replaced with your GenAuth Access Token
    private static final String ACCESS_TOKEN = "AUTHING_ACCESS_TOKEN";

    public static void main(String[] args) throws Throwable {
        AuthenticationClientOptions clientOptions = new AuthenticationClientOptions();
        clientOptions.setAppId(APP_ID);
        clientOptions.setAppSecret(APP_SECRET);
        clientOptions.setAppHost(APP_HOST);
        clientOptions.setAccessToken(ACCESS_TOKEN);

        AuthenticationClient client = new AuthenticationClient(clientOptions);

        GetIdentitiesRespDto response = client.getIdentities();
        System.out.println(JsonUtils.serialize(response));
    }
}

¶ Request Response

Type: GetIdentitiesRespDto

NameTypeDescription
statusCodenumberBusiness status code. You can use this status code to determine whether the operation is successful. 200 means success.
messagestringDescription
apiCodenumberSegmented error code, through which the specific error type can be obtained (not returned for successful requests). For a detailed list of error codes, see: API Code List (opens new window)
requestIdstringRequest ID. Returned when the request fails.
dataarrayList of identity sources for the user

Example Results:

{
  "statusCode": 200,
  "message": "Operation successful",
  "requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
  "data": {
    "identityId": "62299d8b866d2dab79a89dc4",
    "extIdpId": "6076bacxxxxxxxxd80d993b5",
    "provider": "wechat",
    "type": "openid",
    "userIdInIdp": "oj7Nq05R-RRaqak0_YlMLnnIwsvg",
    "accessToken": "57_fK0xgSL_NwVlS-gmUwlMQ2N6AONNIOAYxxxx",
    "refreshToken": "57_IZFu91Ak1Wg6DRytZFFIOd3upNF5lH7vPxxxxx",
    "originConnIds": "[\"605492ac41xxxxe0362f0707\"]"
  }
}

¶ Data Structure

¶ IdentityDto

NameType
Is it required
Description
Example Value
identityIdstringYesIdentity source ID62299d8b866d2dab79a89dc4
extIdpIdstringYesIdentity source connection ID6076bacxxxxxxxxd80d993b5
providerstringYesExternal identity source Type:
- wechat: WeChat
- qq: QQ
- wechatwork: WeChat for Business
- dingtalk: DingTalk
- weibo: Weibo
- github: GitHub
- alipay: Alipay
- baidu: Baidu
- lark: Feishu
- welink: Welink
- yidun: NetEase Yidun
- qingcloud: Qingyun
- google: Google
- gitlab: GitLab
- gitee: Gitee
- twitter: Twitter
- facebook: Facebook
- slack: Slack
- linkedin: Linkedin
- instagram: Instagram
- oidc: OIDC-type enterprise identity source
- oauth2: OAuth2-type enterprise identity source
- saml: SAML-type enterprise identity source
- ldap: LDAP-type enterprise identity source
- ad: AD-type enterprise identity source
- cas: CAS-type enterprise identity source
- azure-ad: Azure AD-type enterprise identity source
oidc
typestringYesIdentity type, such as unionid, openid, primaryopenid
userIdInIdpstringYesID in the external identity sourceoj7Nq05R-RRaqak0_YlMLnnIwsvg
userInfoInIdpobjectYesUser's identity information in idp
accessTokenstringNoAccess Token in external identity source (this parameter is returned only when user actively obtains it, and it is not returned by management interface).57_fK0xgSL_NwVlS-gmUwlMQ2N6AONNIOAYxxxx
refreshTokenstringNoRefresh Token in external identity source (this parameter is returned only when user actively obtains it, and it is not returned by management interface).57_IZFu91Ak1Wg6DRytZFFIOd3upNF5lH7vPxxxxx
originConnIdsarrayYesIdentity source connection ID list from which the identity comes["605492ac41xxxxe0362f0707"]
Previous article: Unbind an external identity source Next article: Get the list of external identity sources enabled by the application
  • Method Name
  • Request Parameters
  • Sample Code
  • Request Response
  • Data Structure

User identity management

Integrated third-party login
Customized authentication process

Enterprise internal management

Single sign-on
Multi-factor authentication
Permission management

Developer

Development Documentation
GitHub (opens new window)

Company

official@genauth.ai
16th Floor, Building B, Beichen Century Center, Chaoyang District, Beijing (Total)
Room 406, 4th Floor, Block B, No. 200, Tianfu Fifth Street, High-tech Zone, Chengdu (Branch)

© Beijing Steamory Technology Co., Ltd.