dongxing4196 2019-03-05 09:52
浏览 253

Laravel 5.6如何重定向到移动应用程序URL?

I am having difficulties to implement a redirect with Laravel 5.6 to a mobile app url. So the idea is that API handles a request and based on user agent it redirects to either android or ios app.

Controller

/**
* Reset password redirect logic.
* Redirect user to either android or iphone app based on http user agent.
*
* @param RedirectRequest $request
* @return RedirectResponse
*/
public function redirect(RedirectRequest $request): RedirectResponse
{
    $email = $request->get('email');
    $rememberToken = $request->get('rememberToken');
    $userAgent = $request->server('HTTP_USER_AGENT');

    if (strpos(strtolower( $userAgent ), 'iphone' ) !== false) {
        return redirect()->to(
            env('FORGET_PASSWORD_IOS_URL') . '?$email=' . $email . '&rememberToken=' . $rememberToken
        );
    } else if (strpos(strtolower( $userAgent ), 'android' ) !== false) {
        return redirect()->to(
            env('FORGET_PASSWORD_ANDROID_URL') . '?$email=' . $email . '&rememberToken=' . $rememberToken
        );
    }
}

.env

# URL SCHEMA FROM MOBILE APP DEVELOPERS.
FORGET_PASSWORD_IOS_URL=mobileapp://
FORGET_PASSWORD_ANDROID_URL=mobileapp://

So the idea behind this, is that when a user requests a password reset from the mobile app, they get an email and that email will contain a link to api. Once user visits a link, they will be redirected to either android or ios app to continue.

The link user receives in email looks like this. http://api.url.com/password-reset?email=<email>&rememberToken=<TOKEN>

After user visits the url I expect the result to be in the browser.

mobileapp://?email=me@email.com&rememberToken=<TOKEN>

The actual result.

http://api.url.com/mobileapp:?email=me@email.com&rememberToken=<TOKEN>

Anyone encountered this before? Or any advices?

  • 写回答

1条回答 默认 最新

  • doudao0660 2019-03-05 10:05
    关注

    you should use this method:

    $url = env('FORGET_PASSWORD_IOS_URL') . '?$email=' . $email . '&rememberToken=' . $rememberToken;
    
    return redirect()->away($url);
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?