Skip to content
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

Alors que je suis connecté via Agent Connect, je veux réaliser une action (UIA) authentifiée par mot de passe #392

Open
2 tasks
Tracked by #195
odelcroi opened this issue Sep 3, 2024 · 3 comments
Labels

Comments

@odelcroi
Copy link
Member

odelcroi commented Sep 3, 2024

Etant donné que je suis connecté à Tchap via Agent Connect et que j'ai un mot de passe défini (user legacy)
Quand je clique sur une UIA (comme déconnecter un appareil)
Alors je ne devrais pas rentrer mon mot de passe Tchap

What

liste des UIA actions à supporter (WIP) :

  • reset les clefs de cross signing
  • déconnecter un appareil
  • desactiver son compte
  • ajouter un 3PID

How

Tasks

  1. P1 sso
    MarcWadai
@odelcroi odelcroi changed the title Alors que je suis connecté à Tchap via Agent Connect, je veux réaliser une action authentifiée par mot de passe Alors que je suis connecté via Agent Connect, je veux réaliser une action (UIA) authentifiée par mot de passe Sep 3, 2024
@odelcroi odelcroi added a-agentconnect P1 Priority High labels Sep 3, 2024
@odelcroi
Copy link
Member Author

odelcroi commented Sep 9, 2024

Android

sur android dans l'objet session on a un objet sessionparams qui contient le login type. vous avez sans doute un équivalent sur web et iOS. je ne vais pas l'utiliser sur Android car ca demande trop changement dans le code pour passer ce paramètre à l'UIA. je vais faire du SSO first

Web

  • @MarcWadai j'ai testé sur web, il a m'a proposé un écran SSO quand j'étais connecté avec Agent Connect 🎊
  • faudrait tester avec un compte legacy (mdp + AC) si il choisit le bon flow en fonction de ce qui a été utilisé pour le login

iOs

@yostyle
Copy link

yostyle commented Oct 3, 2024

  • @MarcWadai j'ai testé sur web, il a m'a proposé un écran SSO quand j'étais connecté avec Agent Connect 🎊

@MarcWadai @odelcroi Attention l'ordre des flows de l'UIA est aléatoire. il faut que le client choisisse le flow souhaité dans le cas où les deux sont proposés (SSO et MDP) par l'UIA. Sur Mobile on a privilégié le SSO

@odelcroi
Copy link
Member Author

odelcroi commented Oct 9, 2024

depuis le code iOS, les UIA sont utilisés ici :

- (MXHTTPOperation*)deactivateAccountWithAuthParameters:(NSDictionary*)authParameters
                                           eraseAccount:(BOOL)eraseAccount
                                                success:(void (^)(void))success
                                                failure:(void (^)(NSError *error))failure NS_REFINED_FOR_SWIFT;

- (MXHTTPOperation*)add3PIDOnlyWithSessionId:(NSString*)sid
                                clientSecret:(NSString*)clientSecret
                                  authParams:(NSDictionary*)authParameters
                                     success:(void (^)(void))success
                                     failure:(void (^)(NSError *error))failure NS_REFINED_FOR_SWIFT;

- (MXHTTPOperation*)deleteDeviceByDeviceId:(NSString *)deviceId
                                authParams:(NSDictionary*)authParameters
                                   success:(void (^)(void))success
                                   failure:(void (^)(NSError *error))failure NS_REFINED_FOR_SWIFT;

- (MXHTTPOperation*)deleteDevicesByDeviceIds:(NSArray<NSString*>*)deviceIds
                                  authParams:(NSDictionary*)authParameters
                                     success:(void (^)(void))success
                                     failure:(void (^)(NSError *error))failure NS_REFINED_FOR_SWIFT;

- (MXHTTPOperation*)uploadDeviceSigningKeys:(NSDictionary *)keys
                                 authParams:(NSDictionary*)authParameters
                                    success:(void (^)(void))success
                                    failure:(void (^)(NSError *error))failure;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants