首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AADSTS50011:请求中指定的回复URL与Laravel中的答复不匹配

AADSTS50011:请求中指定的回复URL与Laravel中的答复不匹配
EN

Stack Overflow用户
提问于 2020-03-16 18:22:26
回答 1查看 238关注 0票数 0

我正在使用Laravel-5.8用于用户Azure AD身份验证。我安装了这个软件包:

“社交服务商/微软-天蓝色”:"^3.0",

作曲家需要社交服务商/microsoft-azure

我也做了配置。数据库的常规登录正在完善,但我对Laravel microsoft-azure集成有问题。

登录控制器

代码语言:javascript
复制
<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Socialite;

class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = '/dashboard';

public function __construct()
{
    $this->middleware('guest')->except('logout');
}

public function redirectToProvider()
{
    return Socialite::with('azure')->redirect();
}

public function handleProviderCallback()
{
    $user = Socialite::with('azure')->user();
}

视图刀片:

login.blade

代码语言:javascript
复制
<form class="login-form" method="POST" action="{{ route('login') }}">
    {{ csrf_field() }}

    <div class=" w3l-form-group{{ $errors->has('email') ? ' has-error' : '' }}">
        <label>Username:</label>
        <div class="group">
            <i class="fas fa-user"></i>
            <input id="email" type="text" class="form-control" name="email" placeholder="Email" required autofocus>
        <div>
        </div>
        </div>
    </div>
    <div>
        @if ($errors->has('email'))
            <span class="help-block" style="color: red">
                <strong>{{ $errors->first('email') }}</strong>
            </span>
        @endif
    </div>

    <div class=" w3l-form-group{{ $errors->has('password') ? ' has-error' : '' }}">
        <label>Password:</label>
        <div class="group">
            <i class="fas fa-unlock"></i>
            <input id="password" type="password" class="form-control" name="password" placeholder="Password"  required>
            @if ($errors->has('password'))
                <span class="help-block">
                    <strong>{{ $errors->first('password') }}</strong>
                </span>
            @endif
        </div>
    </div>
    <button type="submit">Login</button>
    <a href="{{ route('azure.login') }}" class="btn btn-primary"> Azure Login</a>
</form>

我正在使用Laravel-5.8用于用户Azure AD身份验证。我安装了这个软件包:

“社交服务商/微软-天蓝色”:"^3.0",

作曲家需要社交服务商/microsoft-azure

我也做了配置。数据库的常规登录正在完善,但我对Laravel microsoft-azure集成有问题。

登录控制器

代码语言:javascript
复制
<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Socialite;

class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = '/dashboard';

public function __construct()
{
    $this->middleware('guest')->except('logout');
}

public function redirectToProvider()
{
    return Socialite::with('azure')->redirect();
}

public function handleProviderCallback()
{
    $user = Socialite::with('azure')->user();
}

login.blade

代码语言:javascript
复制
<form class="login-form" method="POST" action="{{ route('login') }}">
    {{ csrf_field() }}

    <div class=" w3l-form-group{{ $errors->has('email') ? ' has-error' : '' }}">
        <label>Username:</label>
        <div class="group">
            <i class="fas fa-user"></i>
            <input id="email" type="text" class="form-control" name="email" placeholder="Email" required autofocus>
        <div>
        </div>
        </div>
    </div>
    <div>
        @if ($errors->has('email'))
            <span class="help-block" style="color: red">
                <strong>{{ $errors->first('email') }}</strong>
            </span>
        @endif
    </div>

    <div class=" w3l-form-group{{ $errors->has('password') ? ' has-error' : '' }}">
        <label>Password:</label>
        <div class="group">
            <i class="fas fa-unlock"></i>
            <input id="password" type="password" class="form-control" name="password" placeholder="Password"  required>
            @if ($errors->has('password'))
                <span class="help-block">
                    <strong>{{ $errors->first('password') }}</strong>
                </span>
            @endif
        </div>
    </div>
    <button type="submit">Login</button>
    <a href="{{ route('azure.login') }}" class="btn btn-primary"> Azure Login</a>
</form>

展开片段

路由/web.php

代码语言:javascript
复制
Route::get('login/azure', 'Auth\LoginController@redirectToProvider')->name('azure.login');
Route::get('login/azure/callback', 'Auth\LoginController@handleProviderCallback');

配置/服务

代码语言:javascript
复制
'azure' => [
    'client_id' => env('AZURE_KEY','hsdhsdhsd'),
    'client_secret' => env('AZURE_SECRET','jfhrbdjf'),
    'redirect' => env('AZURE_REDIRECT_URI','https://laravelproject.laraapps.net/login/azure/callback')
],

所以我不再使用.env了

配置/应用程序

\SocialiteProviders\Manager\ServiceProvider::class,

当我单击Azure Login按钮时,在屏幕截图中得到了以下错误:

这就是我的Azure广告重定向URL中的内容“

https://laravelproject.laraapps.net/login/azure/callback

我该怎么解决呢?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-17 02:19:35

在输入凭据之前,您可以在授权端点中找到真正的redirect_uri。

有点像https://login.microsoftonline.com/{tenant}/oauth2/authorize? client_id=6731de76-14a6-49ae-97bc-6eba6914391e &response_type=code &redirect_uri=http%3A%2F%2Flocalhost%3A12345 &response_mode=query &resource=https%3A%2F%2Fservice.contoso.com%2F &state=12345

确保此redirect_uri与Azure门户中的相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60711294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档