mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
parent
24ac0ac57c
commit
d363fee2bd
2 changed files with 35 additions and 2 deletions
|
@ -1,6 +1,9 @@
|
|||
Changes in 0.11.2 (2020-xx-xx)
|
||||
===============================================
|
||||
|
||||
Improvements:
|
||||
* Registration: Support email verification link from homeserver (#3167).
|
||||
|
||||
Bug fix:
|
||||
* AuthenticationViewController: Remove fallback to matrix.org when authentication failed (PR #3165).
|
||||
|
||||
|
|
|
@ -2047,8 +2047,38 @@ NSString *const AppDelegateDidValidateEmailNotificationClientSecretKey = @"AppDe
|
|||
NSString *validateEmailSubmitTokenAPIPathV1 = [NSString stringWithFormat:@"/%@/%@", kMXIdentityAPIPrefixPathV1, validateEmailSubmitTokenPath];
|
||||
NSString *validateEmailSubmitTokenAPIPathV2 = [NSString stringWithFormat:@"/%@/%@", kMXIdentityAPIPrefixPathV2, validateEmailSubmitTokenPath];
|
||||
|
||||
// Manage email validation link
|
||||
if ([webURL.path isEqualToString:validateEmailSubmitTokenAPIPathV1] || [webURL.path isEqualToString:validateEmailSubmitTokenAPIPathV2])
|
||||
// Manage email validation links from homeserver
|
||||
// They look like https://matrix.org/_matrix/client/unstable/registration/email/submit_token?token=vtQjQIZfwdoREDACTEDozrmKYSWlCXsJ&client_secret=53e679ea-oRED-ACTED-92b8-3012c49c6cfa&sid=qlBCREDACTEDEtgxD
|
||||
if ([webURL.path hasSuffix:@"registration/email/submit_token"])
|
||||
{
|
||||
NSLog(@"[AppDelegate] handleUniversalLink: Validate link");
|
||||
|
||||
// We just need to ping the link.
|
||||
// The app should be in the registration flow at the "waiting for email validation" polling state. The server
|
||||
// will indicate the email is validated through this polling API. Then, the app will go to the next flow step.
|
||||
NSURLSessionConfiguration *conf = [NSURLSessionConfiguration defaultSessionConfiguration];
|
||||
NSURLSession *urlSession = [NSURLSession sessionWithConfiguration:conf];
|
||||
|
||||
NSURLSessionDataTask * task = [urlSession dataTaskWithURL:webURL completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
|
||||
|
||||
NSLog(@"[AppDelegate] handleUniversalLink: Link validation response: %@\nData: %@", response,
|
||||
[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
|
||||
|
||||
if (error)
|
||||
{
|
||||
NSLog(@"[AppDelegate] handleUniversalLink: Link validation error: %@", error);
|
||||
[self showErrorAsAlert:error];
|
||||
}
|
||||
}];
|
||||
|
||||
[task resume];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
// Manage email validation link from Identity Server v1 or v2
|
||||
else if ([webURL.path isEqualToString:validateEmailSubmitTokenAPIPathV1]
|
||||
|| [webURL.path isEqualToString:validateEmailSubmitTokenAPIPathV2])
|
||||
{
|
||||
// Validate the email on the passed identity server
|
||||
NSString *identityServer = [NSString stringWithFormat:@"%@://%@", webURL.scheme, webURL.host];
|
||||
|
|
Loading…
Reference in a new issue