Loading play-services-basement/src/main/java/org/microg/gms/auth/AuthConstants.java +1 −0 Original line number Diff line number Diff line Loading @@ -38,5 +38,6 @@ public class AuthConstants { public static final String STATUS = "status"; public static final String SCOPE_OAUTH2 = "oauth2:"; public static final String SCOPE_EM_OP_PRO = "oauth2:email openid profile"; public static final String GOOGLE_SIGN_IN_AUTHORIZATION_RESULT = "authorization_result"; } play-services-core-proto/src/main/proto/auth.proto +5 −0 Original line number Diff line number Diff line Loading @@ -23,11 +23,16 @@ message RequestOptions { // optional int32 field_4 = 4; // optional int32 field_5 = 5; optional int32 remote = 7; optional NonceWrapper nonceWrapper = 8; optional int32 version = 10; optional string sessionId = 11; // optional bool field_12 = 12; } message NonceWrapper { optional string nonce = 1; } message ConsentUrlResponse { optional int32 resultCode = 2; optional string consentUrl = 3; Loading play-services-core/src/main/kotlin/org/microg/gms/auth/signin/AssistedSignInActivity.kt +1 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,7 @@ class AssistedSignInActivity : AppCompatActivity() { val intent = Intent(this, AuthSignInActivity::class.java).apply { `package` = Constants.GMS_PACKAGE_NAME putExtra("config", signInConfiguration) putExtra("nonce", signInIntentRequest?.nonce) } startActivityForResult(intent, REQUEST_CODE_SIGN_IN) } Loading play-services-core/src/main/kotlin/org/microg/gms/auth/signin/AssistedSignInFragment.kt +1 −1 Original line number Diff line number Diff line Loading @@ -316,7 +316,7 @@ class AssistedSignInFragment : BottomSheetDialogFragment() { delay(3000) runCatching { val googleSignInAccount = withContext(Dispatchers.IO) { performSignIn(requireContext(), clientPackageName, options, lastChooseAccount!!, true) performSignIn(requireContext(), clientPackageName, options, lastChooseAccount!!, true, beginSignInRequest.googleIdTokenRequestOptions.nonce) } loginResult(googleSignInAccount) }.onFailure { Loading play-services-core/src/main/kotlin/org/microg/gms/auth/signin/AuthSignInActivity.kt +14 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.getSystemService import androidx.lifecycle.lifecycleScope import com.google.android.gms.R import com.google.android.gms.auth.api.identity.AuthorizationResult import com.google.android.gms.auth.api.identity.SignInCredential import com.google.android.gms.auth.api.signin.GoogleSignInAccount import com.google.android.gms.auth.api.signin.GoogleSignInApi Loading Loading @@ -53,6 +54,9 @@ class AuthSignInActivity : AppCompatActivity() { intent?.extras?.also { it.classLoader = SignInConfiguration::class.java.classLoader }?.getParcelable<SignInConfiguration>("config") }.getOrNull() private val idNonce: String? get() = runCatching { intent?.extras?.getString("nonce") }.getOrNull() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setResult(CommonStatusCodes.CANCELED) Loading Loading @@ -175,7 +179,7 @@ class AuthSignInActivity : AppCompatActivity() { } private suspend fun signIn(account: Account) { val googleSignInAccount = performSignIn(this, config?.packageName!!, config?.options, account, true) val googleSignInAccount = performSignIn(this, config?.packageName!!, config?.options, account, true, idNonce) if (googleSignInAccount != null) { finishResult(CommonStatusCodes.SUCCESS, account = account, googleSignInAccount = googleSignInAccount) } else { Loading @@ -190,6 +194,15 @@ class AuthSignInActivity : AppCompatActivity() { data.putExtra(AuthConstants.GOOGLE_SIGN_IN_ACCOUNT, googleSignInAccount) val bundle = Bundle() if (googleSignInAccount != null) { val authorizationResult = AuthorizationResult( googleSignInAccount.serverAuthCode, googleSignInAccount.idToken, googleSignInAccount.idToken, googleSignInAccount.grantedScopes.map { it.scopeUri }, googleSignInAccount, null ) data.putExtra(AuthConstants.GOOGLE_SIGN_IN_AUTHORIZATION_RESULT, SafeParcelableSerializer.serializeToBytes(authorizationResult)) val signInAccount = SignInAccount().apply { email = googleSignInAccount.email ?: account?.name this.googleSignInAccount = googleSignInAccount Loading Loading
play-services-basement/src/main/java/org/microg/gms/auth/AuthConstants.java +1 −0 Original line number Diff line number Diff line Loading @@ -38,5 +38,6 @@ public class AuthConstants { public static final String STATUS = "status"; public static final String SCOPE_OAUTH2 = "oauth2:"; public static final String SCOPE_EM_OP_PRO = "oauth2:email openid profile"; public static final String GOOGLE_SIGN_IN_AUTHORIZATION_RESULT = "authorization_result"; }
play-services-core-proto/src/main/proto/auth.proto +5 −0 Original line number Diff line number Diff line Loading @@ -23,11 +23,16 @@ message RequestOptions { // optional int32 field_4 = 4; // optional int32 field_5 = 5; optional int32 remote = 7; optional NonceWrapper nonceWrapper = 8; optional int32 version = 10; optional string sessionId = 11; // optional bool field_12 = 12; } message NonceWrapper { optional string nonce = 1; } message ConsentUrlResponse { optional int32 resultCode = 2; optional string consentUrl = 3; Loading
play-services-core/src/main/kotlin/org/microg/gms/auth/signin/AssistedSignInActivity.kt +1 −0 Original line number Diff line number Diff line Loading @@ -100,6 +100,7 @@ class AssistedSignInActivity : AppCompatActivity() { val intent = Intent(this, AuthSignInActivity::class.java).apply { `package` = Constants.GMS_PACKAGE_NAME putExtra("config", signInConfiguration) putExtra("nonce", signInIntentRequest?.nonce) } startActivityForResult(intent, REQUEST_CODE_SIGN_IN) } Loading
play-services-core/src/main/kotlin/org/microg/gms/auth/signin/AssistedSignInFragment.kt +1 −1 Original line number Diff line number Diff line Loading @@ -316,7 +316,7 @@ class AssistedSignInFragment : BottomSheetDialogFragment() { delay(3000) runCatching { val googleSignInAccount = withContext(Dispatchers.IO) { performSignIn(requireContext(), clientPackageName, options, lastChooseAccount!!, true) performSignIn(requireContext(), clientPackageName, options, lastChooseAccount!!, true, beginSignInRequest.googleIdTokenRequestOptions.nonce) } loginResult(googleSignInAccount) }.onFailure { Loading
play-services-core/src/main/kotlin/org/microg/gms/auth/signin/AuthSignInActivity.kt +14 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.getSystemService import androidx.lifecycle.lifecycleScope import com.google.android.gms.R import com.google.android.gms.auth.api.identity.AuthorizationResult import com.google.android.gms.auth.api.identity.SignInCredential import com.google.android.gms.auth.api.signin.GoogleSignInAccount import com.google.android.gms.auth.api.signin.GoogleSignInApi Loading Loading @@ -53,6 +54,9 @@ class AuthSignInActivity : AppCompatActivity() { intent?.extras?.also { it.classLoader = SignInConfiguration::class.java.classLoader }?.getParcelable<SignInConfiguration>("config") }.getOrNull() private val idNonce: String? get() = runCatching { intent?.extras?.getString("nonce") }.getOrNull() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setResult(CommonStatusCodes.CANCELED) Loading Loading @@ -175,7 +179,7 @@ class AuthSignInActivity : AppCompatActivity() { } private suspend fun signIn(account: Account) { val googleSignInAccount = performSignIn(this, config?.packageName!!, config?.options, account, true) val googleSignInAccount = performSignIn(this, config?.packageName!!, config?.options, account, true, idNonce) if (googleSignInAccount != null) { finishResult(CommonStatusCodes.SUCCESS, account = account, googleSignInAccount = googleSignInAccount) } else { Loading @@ -190,6 +194,15 @@ class AuthSignInActivity : AppCompatActivity() { data.putExtra(AuthConstants.GOOGLE_SIGN_IN_ACCOUNT, googleSignInAccount) val bundle = Bundle() if (googleSignInAccount != null) { val authorizationResult = AuthorizationResult( googleSignInAccount.serverAuthCode, googleSignInAccount.idToken, googleSignInAccount.idToken, googleSignInAccount.grantedScopes.map { it.scopeUri }, googleSignInAccount, null ) data.putExtra(AuthConstants.GOOGLE_SIGN_IN_AUTHORIZATION_RESULT, SafeParcelableSerializer.serializeToBytes(authorizationResult)) val signInAccount = SignInAccount().apply { email = googleSignInAccount.email ?: account?.name this.googleSignInAccount = googleSignInAccount Loading