feat(19-02): add RegisterApp/RemoveApp commands, DI wiring, EN/FR localization
- ProfileManagementViewModel: IAppRegistrationService injected, RegisterAppCommand/RemoveAppCommand added - IsRegistering, ShowFallbackInstructions, RegistrationStatus observable properties - HasRegisteredApp computed property, CanRegisterApp/CanRemoveApp guards - RegisterAppAsync: admin check, fallback panel, AppId persistence - RemoveAppAsync: removal + MSAL clear + AppId null + persistence - App.xaml.cs: IAppRegistrationService singleton registered - Strings.resx/fr.resx: 16 new localization keys for register/remove/fallback flow
This commit is contained in:
@@ -412,6 +412,23 @@
|
||||
<!-- Phase 16: Report Consolidation Toggle -->
|
||||
<data name="audit.grp.export" xml:space="preserve"><value>Options d'exportation</value></data>
|
||||
<data name="chk.merge.permissions" xml:space="preserve"><value>Fusionner les permissions en double</value></data>
|
||||
<!-- Phase 19: App Registration & Removal -->
|
||||
<data name="profile.register" xml:space="preserve"><value>Enregistrer l'app</value></data>
|
||||
<data name="profile.remove" xml:space="preserve"><value>Supprimer l'app</value></data>
|
||||
<data name="profile.register.checking" xml:space="preserve"><value>Vérification des permissions...</value></data>
|
||||
<data name="profile.register.registering" xml:space="preserve"><value>Enregistrement de l'application...</value></data>
|
||||
<data name="profile.register.success" xml:space="preserve"><value>Application enregistrée avec succès</value></data>
|
||||
<data name="profile.register.failed" xml:space="preserve"><value>L'enregistrement a échoué</value></data>
|
||||
<data name="profile.register.noperm" xml:space="preserve"><value>Permissions insuffisantes pour l'enregistrement automatique</value></data>
|
||||
<data name="profile.remove.removing" xml:space="preserve"><value>Suppression de l'application...</value></data>
|
||||
<data name="profile.remove.success" xml:space="preserve"><value>Application supprimée avec succès</value></data>
|
||||
<data name="profile.fallback.title" xml:space="preserve"><value>Enregistrement manuel requis</value></data>
|
||||
<data name="profile.fallback.step1" xml:space="preserve"><value>1. Allez dans le portail Azure > Inscriptions d'applications > Nouvelle inscription</value></data>
|
||||
<data name="profile.fallback.step2" xml:space="preserve"><value>2. Nom : 'SharePoint Toolbox - {0}', Types de comptes : Locataire unique</value></data>
|
||||
<data name="profile.fallback.step3" xml:space="preserve"><value>3. URI de redirection : Client public, https://login.microsoftonline.com/common/oauth2/nativeclient</value></data>
|
||||
<data name="profile.fallback.step4" xml:space="preserve"><value>4. Sous Permissions API, ajouter : Microsoft Graph (User.Read, User.Read.All, Group.Read.All, Directory.Read.All) et SharePoint (AllSites.FullControl)</value></data>
|
||||
<data name="profile.fallback.step5" xml:space="preserve"><value>5. Accorder le consentement administrateur pour toutes les permissions</value></data>
|
||||
<data name="profile.fallback.step6" xml:space="preserve"><value>6. Copier l'ID d'application (client) et le coller dans le champ ID Client ci-dessus</value></data>
|
||||
<!-- Phase 18: Auto-Take Ownership -->
|
||||
<data name="settings.ownership.title" xml:space="preserve"><value>Propriété du site</value></data>
|
||||
<data name="settings.ownership.auto" xml:space="preserve"><value>Prendre automatiquement la propriété d'administrateur de collection de sites en cas de refus d'accès</value></data>
|
||||
|
||||
Reference in New Issue
Block a user