(Verouderd) Adobe Pass-verificatie en het nieuwe machtigingenmodel voor Android 6 "Marshmallow" adobe-primetime-authentication-and-the-android-6-marshmallow-new-permissions-model
De nieuwe Android 6 Marshmallow-versie introduceert enkele updates van het machtigingenmodel, die het gedrag kunnen beïnvloeden van apps die de bestaande Adobe Pass Authentication SDK versie 1.8 en ouder gebruiken.
Als nieuwe eigenschap, biedt nieuw Android OS korrelige controle over de toestemmingen aan die apps op het tijdstip van installatie en bij runtime vereisen.
Specifiek, voor apps die in de Studio van Android worden ontwikkeld gebruikend API niveau 23 en die de Authentificatie SDK van Adobe Pass gebruiken, zal de ontwikkelaar douanecode (zie codefragment hieronder) moeten schrijven om toe te laten/ontkennen toestemmingendialoog te teweegbrengen.
Hier volgt het codefragment dat wordt gebruikt voor het aanvragen van schrijftoegang tot de externe opslag van het apparaat:
// Here, thisActivity is the current activity
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.WRITE_EXTERNAL_STORAGE) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
// Show an expanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
// MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE is an
// app-defined int constant. The callback method gets the
// result of the request.
}
}
Van het perspectief van de gebruikers, op installatie, worden de gebruikers begroet door een venster die hen ertoe aanzetten om lees/schrijftoestemmingen voor dossiers (zie hieronder figuur 2) te bevestigen. Dit leidt tot één van de volgende twee resultaten:
- Als de gebruiker bevestigt de toestemmingen, zal de regelmatige authentificatiestroom worden gehouden en de tekenen zullen in de globale opslag worden opgeslagen. Gebruikers blijven geautoriseerd in de app en in verschillende apps met Adobe Pass-verificatie zolang de tokens geldig zijn.
- Als de gebruiker ontkent de toestemmingen, schrijf acties in de opslag zullen ontbreken en de gebruikers zullen slechts voor authentiek worden verklaard tot zij app weggaan. Houd er rekening mee dat sommige toepassingen opnieuw worden geïnitialiseerd wanneer wordt geschakeld tussen de voor- en achtergrond, zodat de gebruikers worden afgemeld wanneer zij deze handeling uitvoeren. Tokens worden NIET opgeslagen en de gebruikers moeten elke keer dat zij de app gebruiken, worden geverifieerd.
Cijfer: De dialoog van het toestemmingsverzoek voor apps die gericht API niveau 23 worden geschreven