一加 12/ColorOS14 中 Enroll Android Work Profile 过程中 getToken 出现 BAD_AUTHENTICATION

2023-12-22 14:48:20 +08:00
 zxzxy1988

刚刚入手了一加 12 ,硬件配置的确不错。不过由于在外企工作,enroll 公司的账户到 Android Work Profile 中时,其他步骤都可以(把公司账户 enroll 进来,和公司的 Okta 认证,创立单独的 work profile ,等等,都没问题)。现在到了最后一步(已经创建完 profile ,和 Google enterprise management 建立联系的时候)就一直卡在那里。通过 ADB 看到的 log 有大段这样的错误信息:

12-18 11:45:05.745 21753 21753 D ActivityThread: ComponentInfo{com.google.android.gms/com.google.android.gms.signin.activity.ConsentActivity} checkFinished=false 2
12-18 11:45:05.745 21753 21753 D ResourcesManagerExtImpl: applyConfigurationToAppResourcesLocked app.getDisplayId() return callback.displayId:-1
12-18 11:45:05.747 1820 1820 D Layer  : reparent to null sequence=576, seq[2], name=Surface(name=1bbdf2 NavigationBar_displayId_0)/@0xd3fb08d - animation-leash of insets_animation#576
12-18 11:45:05.747 1820 1820 D Layer  : reparent to null sequence=577, seq[1], name=Surface(name=9cf7768 StatusBar)/@0xf8c8790 - animation-leash of insets_animation#577
12-18 11:45:05.747 1820 1820 D OplusLayer: setGameMode WindowToken{e49a7d9 type=2011 android.os.Binder@66c1220}#400, 0
12-18 11:45:05.747 3181 4414 I Osense-BaseDecisionMaker: notifySceneToAthenaPolicy: SCENE_ACTIVITY_IDLE, bundle: Bundle[{scene=SCENE_ACTIVITY_IDLE}]
12-18 11:45:05.747 3181 4414 D Osense-MemoryReaderUtils: actualSwapTotalMem: 17407, actualSwapFreeMem: 17407
12-18 11:45:05.748 1170 3493 I android.system.suspend-service: --mSuspendCounter = 2
12-18 11:45:05.748 3181 4414 D Osense-MemoryReaderUtils: actualSwapTotalMem: 17407, actualSwapFreeMem: 17407
12-18 11:45:05.748 22576 23266 E AuthPII : [RequestTokenManager] getToken() -> BAD_AUTHENTICATION. App: com.google.android.apps.work.clouddpc, Service: oauth2:https://www.googleapis.com/auth/androiddevicemanagementregistration
12-18 11:45:05.748 22576 23266 E AuthPII : ahdm: Long live credential not available.
12-18 11:45:05.748 22576 23266 E AuthPII : 	at ryt.a(:com.google.android.gms@233918044@23.39.18 (190400-572044148):993)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at rza.b(:com.google.android.gms@233918044@23.39.18 (190400-572044148):26)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at ryx.a(:com.google.android.gms@233918044@23.39.18 (190400-572044148):612)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at rsb.h(:com.google.android.gms@233918044@23.39.18 (190400-572044148):3)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at vtf.i(:com.google.android.gms@233918044@23.39.18 (190400-572044148):19)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at vtf.eY(:com.google.android.gms@233918044@23.39.18 (190400-572044148):1327)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at mfh.onTransact(:com.google.android.gms@233918044@23.39.18 (190400-572044148):117)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at android.os.Binder.transact(Binder.java:1207)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at bbyo.onTransact(:com.google.android.gms@233918044@23.39.18 (190400-572044148):10)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at android.os.Binder.transact(Binder.java:1207)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at auvb.onTransact(:com.google.android.gms@233918044@23.39.18 (190400-572044148):147)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at android.os.Binder.execTransactInternal(Binder.java:1387)
12-18 11:45:05.748 22576 23266 E AuthPII : 	at android.os.Binder.execTransact(Binder.java:1299)
12-18 11:45:05.748 22576 23266 E AuthPII : Message is Long live credential not available.

明显是这一行引起的:

12-18 11:45:05.748 22576 23266 E AuthPII : [RequestTokenManager] getToken() -> BAD_AUTHENTICATION. App: com.google.android.apps.work.clouddpc, Service: oauth2:https://www.googleapis.com/auth/androiddevicemanagementregistration

目前根据我有限的知识,因为家中的翻墙设备是路由器,所以 work profile 自动就可以翻墙,目测不是墙的问题(换了波兰的 mobile data 也不好用),感觉还是 ColorOS 的适配没这么细导致的。另外手机中的 Google play service 是开启了的,我自己也把 android device poilcy 更新到了最新的(不过每次 enroll work profile 的时候,就会自动变成某一个比较老的版本,不知道为什么)

网上信息相关较少(比如这个 https://github.com/firebase/FirebaseUI-Android/issues/2066#issuecomment-1299393188 ),试了之后也不太起作用。

求助各路大神这个BAD_AUTHENTICATION可能有什么原因?比如证书?或者是其他配置除了问题?另外就是有什么办法能够看到更详细的错误(如果想再细化一下的话)。

多谢各路大神!

7876 次点击
所在节点    Android
8 条回复
AkinoKaedeChan
2023-12-22 16:54:27 +08:00
针对中国市场定制的 Google Mobile Services 是不支持 Android EMM (Enterprise Mobility Management) 特性的。
zxzxy1988
2023-12-22 23:56:23 +08:00
@AkinoKaedeChan 感谢回复!两个问题:
1. 有没有官方或者半官方的文档说明这个事情(中国市场定制的 GMS )?
2. 这样说的话,这种问题就是所有的国内手机(不刷 ROM 的情况下)都会遇到了?

谢谢!
zxzxy1988
2023-12-23 01:30:51 +08:00
另外如果是因为定制的 GMS 的问题的话,那么我把手机上的 GMS 通过 adb 的方式,升级到 apkpure 上的最新的 GMS 是否能够解决这个问题呢?

我试了一下(更新到了 APKPure 上的最新的 GMS: https://apkpure.com/google-play-services/com.google.android.gms )还是一样的错误,这就让我很疑惑,因为理论上这时候 GMS 已经不是定制版了吧,为何还会出现这个问题?
zxzxy1988
2023-12-23 03:07:07 +08:00
又试了一下,一加 12/ColorOS14 可以完美使用 Microsoft Intune (不确定 Microsoft Intune 是否也是使用了安卓 EMM 框架)并且可以正常 access 诸如 outlook/teams 。

所以感觉上面这个问题可能是 Google 自身的问题。如果这个设备通过非 Google 的 MDM 来管理,似乎没什么问题。但是如果通过 Google 自己的 device management 来管理,就会出现这个问题。
AkinoKaedeChan
2023-12-24 12:20:30 +08:00
@zxzxy1988 GMS 是内置在系统里面的,不能通过安装 APK 解决。可以通过解锁后刷 Oxygen OS 解决。

确实只是 Google MDM 不能用,通过别的 MDM 是可以管理的。

我印象中以前 Android Work Profile 的网页上有写仅在部分国家地区可用,但是最近 Android 网站好像改版了,现在找不到了。
zxzxy1988
361 天前
@AkinoKaedeChan 感谢回复!我又研究了一下,一加/ColorOS 似乎是不太行,不知道为什么。

但是奇怪的是,小米是完全没问题的,所以现在换了小米 14Pro ,完美添加 Android Work Profile 。之前我家里人的红米 K60 也可以完美添加 Android Work Profile 。

这个也算是给其他类似情况的朋友一个参考吧。
apeshit
357 天前
我国内刚买的一加 12 ,带出国了,遇到你一样情况:
1. 我之前用的国版小米 11 pro 没有任何问题,可以添加 workprofile
2. 我目前 一加 12 卡在 okta 登陆这一块,显示无法登陆

现在没办法换了诶,人已经在国外了
zxzxy1988
354 天前
@apeshit 我给一加提交了 bug 但是目前没有反馈 估计短时间内不会修复。。。

目前看来只能小米了。或者海外版一加

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002625

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX