-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
POST request GetPoIntegrityTokenRequest
returns no GetPoIntegrityTokenResponse
body
#2253
Comments
The request is likely missing a result from DroidGuard, resulting in the server not providing a token. This will happen when device attestation / safetynet is turned off in microG settings or your device is not capable of executing DroidGuard. DroidGuard and PoToken are mechanisms to detect non-official software, operating systems and devices. microG does include an implementation of them, but will not make efforts to ensure they will think they are running on an official system. It is up to others to do that if necessary. I just verified that on a device that passes SafetyNet, PoToken works as intended and YouTube can play videos just fine. As this issue seems to be coming from the context of YouTube ReVanced, I'd like to remind that the main purpose of PoToken is to ban unofficial YouTube apps and their users. If you can't play videos in YouTube ReVanced, that means everything works as intended. YouTube ReVanced and ReVanced in general are not supported or endorsed by microG. |
About
With PR #2129, PoToken (Proof of origin token) support has been introduced to MicroG GmsCore. Apps such as YouTube rely on PoToken to complete API requests successfully. GmsCore implements a POST request and expects
GetPoIntegrityTokenResponse
to be sent back as the response, but the response body is empty: #1870 (comment). Therefore, apps such as YouTube stop working.Reproduction
Expected behavior
When MicroG GmsCore makes the POST request
GetPoIntegrityTokenRequest
,GetPoIntegrityTokenResponse
is sent back, the response body is not empty.Ideas to resolve this issue
Screenshots
A request made by MicroG GmsCore to get
GetPoIntegrityTokenResponse
.A YouTube request with PoToken bytes from Google Services:
With MicroG GmsCore (What is seen here is an error message that is sent when requesting the PoIntegrityToken fails, there are multiple error messages present with different values, each for every kind of error in the app):
System
Android 14, MicroG GmsCore (verified being spoofed)
The text was updated successfully, but these errors were encountered: