saml2 不与 laravel 社交名流提供程序包一起工作

问题描述 投票:0回答:1

我的目标是集成一个使用 saml2 协议的 okta sso 应用程序。我的项目建立在 laravel 之上,我正在使用这个 package 来帮助我集成 saml2。根据文档,我实施了以下内容:

向 config/services.php 添加配置

'saml2' => [
    'acs' => 'http://dashboard.test/okta-saml-callback',
    'entityid' => 'http://www.okta.com/exk7qiudmbjsr*******', 
    'certificate' => 'MIIDqDCCApCgAwIBAgIGAYU+Ux31MA0GCSqGSIb3DQEBCwUAMIGUMQswCQYDVQQGEwJVUzETMBEG.......' 
  ]

添加了提供者事件监听器

protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // ... other providers
        \SocialiteProviders\Saml2\Saml2ExtendSocialite::class.'@handle',
    ],
];

添加了授权流程

Route::get('/okta-saml-login', function () {
    return Socialite::driver('saml2')->redirect();
})->name('saml.login');

最后是回调 URL

Route::get('/okta-saml-callback', function () {
    $user = Socialite::driver('saml2')->user();
    dd($user);
});

配置后,当我点击“/okta-saml-login”路由时,它没有将我重定向到 SSO 的 okta 登录弹出页面,而是出现 404 未找到页面。这意味着授权 URL 有问题。现在我尝试搜索文档,但没有在任何地方找到任何关于配置 auth URL 的信息。

php laravel saml-2.0 laravel-socialite
1个回答
0
投票

如果您收到 404,请确保您的回调 URL 设置正确。一些注意事项:

  1. 确保您的回调 URL 设置为
    /auth/callback
    ,这是默认值。
  2. 如果你没有做第一个,你想使用像
    /okta-saml-callback
    这样的自定义回调,然后像这样将它添加到你的配置中:

'sp_acs' => 'okta-saml-callback',

  1. 在您的 Okta 仪表板中更新此回调 URL,您就可以开始了。
© www.soinside.com 2019 - 2024. All rights reserved.