OAuth: Client IDs not recognized at oauth.battlenet.com.cn

Hello,

We have an old OAuth integration and have recently migrated over to oauth.battlenet.com / oauth.battlenet.com.cn respectively. On the Global side everything is working fine, but on the CN side we’re getting “401 - Bad client credentials” when accessing the authorize URL. That is to say:

  • https://oauth.battle.net/authorize?client_id=<our_client_id>&redirect_uri=<...> works as expected
  • https://oauth.battlenet.com.cn/authorize?client_id=<our_client_id>&redirect_uri=<...> fails with a 401

Interestingly enough the URLs also behave differently when omitting the redirect_uri: the global /authorize endpoint responds with “400 - The redirect_uri parameter must be a valid URI”, and the CN version responds with the same “401 - Bad client credentials”. I can get the global endpoint to also respond with a 401 if I choose an invalid client id.

This makes me believe that oauth.battlenet.com.cn does not recognize client ids registered in the developer portal. Do we need to recognize a Chinese Client ID somewhere else than the developer portal? Is this a bug?

We’re hoping on a quick resolution as we’ve got a huge set of Hearthstone players trying to log in to our site, after the Hearthstone re-release in China this week.

As of May 5, 2025, this issue still persists. Additionally, https://oauth.battlenet.com.cn/token doesn’t work either (same 401 error). Has anyone found a solution?

An anonymous NetEase employee clarified that the entire web API system in the CN region is not intended for production use and is strictly limited to internal use only, for now. Interesting. :frowning_face:

Current documentation for Oauth for CN is as follows the urls should be

www.battlenet.com.cn/oauth/authorize
www.battlenet.com.cn/oauth/token

try these and you should get a better result