diff --git a/Sources/WordPressKit/Services/AccountServiceRemoteREST.h b/Sources/WordPressKit/Services/AccountServiceRemoteREST.h index d110bc95..a4c0223f 100644 --- a/Sources/WordPressKit/Services/AccountServiceRemoteREST.h +++ b/Sources/WordPressKit/Services/AccountServiceRemoteREST.h @@ -17,6 +17,21 @@ extern MagicLinkFlow const MagicLinkFlowSignup; @interface AccountServiceRemoteREST : ServiceRemoteWordPressComREST +/** +* @brief Request an authentication link be sent to the email address provided. +* + * @param success The block that will be executed on success. Can be nil. + * @param failure The block that will be executed on failure. Can be nil. + */ +- (void)requestWPComAuthLinkForEmail:(NSString *)email + clientID:(NSString *)clientID + clientSecret:(NSString *)clientSecret + source:(MagicLinkSource)source + wpcomScheme:(NSString *)scheme + createAccountIfNotFound:(BOOL)createAccountIfNotFound + success:(void (^)(void))success + failure:(void (^)(NSError *error))failure; + /** * @brief Request an authentication link be sent to the email address provided. * diff --git a/Sources/WordPressKit/Services/AccountServiceRemoteREST.m b/Sources/WordPressKit/Services/AccountServiceRemoteREST.m index 2d938c78..56ed8b60 100644 --- a/Sources/WordPressKit/Services/AccountServiceRemoteREST.m +++ b/Sources/WordPressKit/Services/AccountServiceRemoteREST.m @@ -245,17 +245,19 @@ - (void)requestWPComAuthLinkForEmail:(NSString *)email clientSecret:(NSString *)clientSecret source:(MagicLinkSource)source wpcomScheme:(NSString *)scheme + createAccountIfNotFound:(BOOL)createAccountIfNotFound success:(void (^)(void))success failure:(void (^)(NSError *error))failure { NSString *path = [self pathForEndpoint:@"auth/send-login-email" withVersion:WordPressComRESTAPIVersion_1_3]; - + NSDictionary *extraParams = @{ MagicLinkParameterFlow: MagicLinkFlowLogin, - MagicLinkParameterSource: source + MagicLinkParameterSource: source, + @"create_account": createAccountIfNotFound ? @"true" : @"false" }; - + [self requestWPComMagicLinkForEmail:email path:path clientID:clientID @@ -266,6 +268,24 @@ - (void)requestWPComAuthLinkForEmail:(NSString *)email failure:failure]; } +- (void)requestWPComAuthLinkForEmail:(NSString *)email + clientID:(NSString *)clientID + clientSecret:(NSString *)clientSecret + source:(MagicLinkSource)source + wpcomScheme:(NSString *)scheme + success:(void (^)(void))success + failure:(void (^)(NSError *error))failure +{ + [self requestWPComAuthLinkForEmail:email + clientID:clientID + clientSecret:clientSecret + source:source + wpcomScheme:scheme + createAccountIfNotFound:NO + success:success + failure:failure]; +} + - (void)requestWPComSignupLinkForEmail:(NSString *)email clientID:(NSString *)clientID clientSecret:(NSString *)clientSecret