Status Update
Comments
su...@google.com <su...@google.com>
he...@google.com <he...@google.com> #2
My only work-around is to prompt the user to reinstall my application after the suggested applications have been installed, so permissions are detected.
It's of course a horrible 'solution'. Have starred the issue.
brandall
he...@google.com <he...@google.com> #3
dm...@ownid.com <dm...@ownid.com> #4
he...@google.com <he...@google.com> #5
---
App HOST allows access to personally-identifying information through a permission.
App PLUGIN can get access to this information by defining the <permission> as well, and using its own permission.
However, if HOST is not already installed, this permission is not shown to the user when PLUGIN is installed.
When HOST is later installed, PLUGIN now has access to HOST's data, even though the user was never aware of it.
---
Perhaps this is a separate bug. The expected behavior is, if an app has a <uses-permission>, that permission should be shown to the user REGARDLESS of whether the permission exists in another app or doesn't.
dm...@ownid.com <dm...@ownid.com> #6
dm...@ownid.com <dm...@ownid.com> #7
he...@google.com <he...@google.com>
ak...@google.com <ak...@google.com> #8
ak...@google.com <ak...@google.com> #9
You could even use descriptions that look like a boring android permission like INTERNET.
ap...@google.com <ap...@google.com> #10
@domschuermann: But yes, different descriptions/icons/names are also a problem, and the solution to this isn't trivial.
dm...@ownid.com <dm...@ownid.com> #11
ah...@gmail.com <ah...@gmail.com> #12
ah...@gmail.com <ah...@gmail.com> #13
ah...@gmail.com <ah...@gmail.com> #14
W/PackageManager( 746): Package com.whatever.foo attempting to redeclare permission com.permission.your already owned by com.example.thing
ah...@gmail.com <ah...@gmail.com> #15
ah...@gmail.com <ah...@gmail.com> #16
ah...@gmail.com <ah...@gmail.com> #17 Restricted+
ap...@google.com <ap...@google.com> #18
Adding moltmann@ if he wants to resurrect this and try to figure out a way to fix this.
ak...@google.com <ak...@google.com> #19
I hope you can excuse me for the delayed response. We have put up a new solution that should contain the expected behavior. If the calling application uses a cancellable scope as @he...@google.com mentioned above, a proper JobCancellationException will be thrown. If a non cancellable scope is used, even on configuration change, our library will ensure proper return of credentials. You can expect this change to arrive in the next release, around May.
In the meantime, to try this out you can use a snapshot SDK from
Step 1: Add the following maven url line to your build.gradle file.
allprojects {
repositories {
google()
jcenter()
maven { url 'https://androidx.dev/snapshots/builds/9928302/artifacts/repository' }
}
}
Step 2: Depend on the snapshot version artifact:
dependencies {
def work_version = '1.0.0-SNAPSHOT'
implementation "androidx.credentials:credentials-play-services-auth:$work_version"
...
}
Thank you for your patience, and please let us know if there are any other issues. We appreciate your help in making Credential Manager better prior to the final launch.
sg...@google.com <sg...@google.com>
dm...@ownid.com <dm...@ownid.com> #20
I confirm that issue is fixed. Thanks! However memory leak is still present. Will open another issue for that.
pr...@google.com <pr...@google.com> #21
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.credentials:credentials-play-services-auth:1.0.0-alpha07
gu...@gmail.com <gu...@gmail.com> #22
When I call getCredential() and the identity selection pops up, I select an account and the popover cancels, and then nothing
The code:
fun Login(mActivity:Activity,mCredentialManager: CredentialManager,mGoogleIdOption: GetGoogleIdOption){
viewModelScope.launch {
try {
val request: GetCredentialRequest = GetCredentialRequest.Builder()
.addCredentialOption(mGoogleIdOption)
.build()
val result = mCredentialManager.getCredential(mActivity,request)
if (result != null) {
handleSignIn(result)
} else {
}
} catch (e: GetCredentialException) {
Log.e(LoginActivity.TAG, e.toJson())
}
}
}
Error: {"errorMessage":"activity is cancelled by the user.","type":"android.credentials.GetCredentialException. TYPE_USER_CANCELED","detailMessage":"activity is cancelled by the user.","stackTrace":[]}
Configured version: implementation "com.google.android.libraries.identity.googleid:googleid:1.1.0"
implementation("androidx.credentials:credentials:1.3.0-alpha01")
implementation("androidx.credentials:credentials-play-services-auth:1.3.0-alpha01”)
gu...@gmail.com <gu...@gmail.com> #23
sg...@google.com <sg...@google.com> #24
This looks like a different issue, could you please open a new bug with more details about which version of jetpack you're using, which version of android you're running, a bug report and etc.
Description
Component used: Credentials
Version used: androidx.credentials:credentials:1.0.0-alpha05
androidx.credentials:credentials-play-services-auth:1.0.0-alpha05
Steps to reproduce:
On Passkeys prompt slider (or on biometry/pin prompt) rotate device (trigger configuration change)
Result: coroutineScope is canceled but credential operation is not, causing:
Expected correct behavior: Passkey operation is canceled correctly: