如何直接在iPhone中将OTP从用户的消息框填充到应用程序?

Yas*_*sha 5 iphone message one-time-password ios two-factor-authentication

我正在使用其移动和iPhone应用程序的互联网交易应用程序.根据最近的市场趋势,我们正在努力包括双因素身份验证.为此,我们将在用户注册的手机号码上发送一次性密码作为短信.

有没有办法,OTP可以从iPhone的用户消息框自动填充到应用程序中?我应该使用什么算法让我的应用程序读取用户的消息框?

提前致谢:)

Jan*_*mal 8

直接回答 NO

目前,iOS中的应用程序无法以编程方式读取SMS sandboxed,这意味着您无法从应用程序外的用户手机中读取任何内容.


rck*_*nes 8

您无法访问用户的SMS收件箱,这将是一个真正的隐私问题.

你可以做的是注册你自己的应用程序架构,你的应用程序可以打开.您可以执行类似操作myApp://register/<OTP>,然后您可以选择此URL并从URL获取OTP并使用它.只需使用短信中的URL,iOS即可完成剩下的工作.

您可以在应用代理中解析应用URL - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation.


小智 3

您可以从您的应用程序访问短信。因此最好让用户输入他的联系电话并向他的手机发送短信

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    if (!url) {
        UIApplication * yourapplication =[UIApplication sharedApplication];
        NSString *outputpath =@"appname://data/";
        NSURL *url =[NSURL URLWithString:outputpath];
        [yourapplication openURL:url];
        return NO;
    }

    NSUserDefaults *defaultString =[NSUserDefaults standardUserDefaults];
    NSString * commonString =[url absoluteString];
    if (commonString.length<=15) {
        //
    }
    else
    {
        [defaultString setObject:commonString forKey:@"urlString"];
    }
         //send info to the screen you need and can navigate
    return YES;
}
Run Code Online (Sandbox Code Playgroud)