小编Moa*_*ari的帖子

单点登录(sso)laravel

我有三个不同的laravel网站,我想让用户在一个网站登录,然后他将自动登录到其他两个网站.例如.如果您在stackoverflow上登录然后打开stackexchange,您将使用StackOverflow帐户登录.我尝试了很多软件包,但它们以无限的例外结束,或者它们根本不起作用.大多数基于SAML的软件包,我不知道为什么它不适用于我?我不知道我错过了什么?这有什么配置吗? 我正在使用laravel 5.6.所有应用程序都在同一台服务器上.

我已经尝试了许多基于SAML,OpenID和共享会话的解决方案,但所有这些解决方案都不能与我合作.我不知道我是否想念一些东西. 这是我尝试的最后一个例子,它没有用

这是我的代码

网站A.

$site_b = 'http://s_sesstion_2.test/';
Route::get('/', function (Request $request) use ($site_b) {
    $session_id = Session::getId();
    try {
        $http = new Client();
        $response = $http->post($site_b . 'api/sessions/server', [
            'form_params' => [
                'session_id' => $session_id,
            ],
            'headers' => [
                'Accept' => 'application/json',
            ]
        ]);
    } catch (Exception $e) {
        dd($e->getMessage());
    }
    return view('welcome');
});
Run Code Online (Sandbox Code Playgroud)

站点B(路线/ api.php)

    Route::post('/sessions/server', function (Request $request) {
    Storage::disk('local')->put('file.txt', $request->get('session_id'));
});
Run Code Online (Sandbox Code Playgroud)

站点B(route/web.php)

    Route::get('/', function () {
    $session_id …
Run Code Online (Sandbox Code Playgroud)

php saml single-sign-on laravel

8
推荐指数
1
解决办法
2940
查看次数

laravel护照oauth功能使用卷曲或guzzle

我在api路由文件中有这条路由

Route::post('/user/register', 'HomeController@register');
Run Code Online (Sandbox Code Playgroud)

并且寄存器功能是

public function register(Request $request)
 {
    $user = User::create([
        ...
    ]);
    return $this->getAccessToken($request);
}

public function getAccessToken(Request $request)
{
    $url = url('/oauth/token');
    $headers = ['Accept' => 'application/json'];
    $http = new Client;

    $response = $http->post($url, [
        'headers' => $headers,
        'form_params' => [
            'grant_type' => 'password',
            'client_id' => 'my_client_id',
            'client_secret' => 'my_client_secret',
            'username' => 'username',
            'password' => 'password'
        ],
    ]);

    return json_decode((string)$response->getBody(), true);
}
Run Code Online (Sandbox Code Playgroud)

现在,当我发送post请求到url用户是创建但请求继续加载没有响应和整个应用程序挂起,直到我关闭IDE - phpstorm - 我发送相同的参数到postman相同的URL /oauth/token,它工作正常.任何帮助或任何人告诉我我失踪了什么?

php curl laravel guzzle laravel-passport

5
推荐指数
1
解决办法
1429
查看次数

vue vite动态组件导入

我正在将现有的 laravel ineria 从 mix 迁移到 vit。

我完成了迁移指南中的所有步骤,除了一件事之外,一切正常。

我有一个组件接收一个包含组件数组的道具。

我曾经这样要求它们(在循环内)

...

this.$options.components[component_name] = require(`@/Pages/Components/Inputs/${component_name}`).default

...
Run Code Online (Sandbox Code Playgroud)

由于“ require ”,这不适用于 vite,我必须将其替换为import

所以我尝试了这些方法,但没有一个有效

this.$options.components[component_name] = () => resolvePageComponent(`./Pages/Components/Inputs/${component_name}.vue`, import.meta.glob('./Pages/**/*.vue'))


this.$options.components[component_name] = () => resolvePageComponent(`@/Pages/Components/Inputs/${component_name}.vue`, import.meta.glob('./Pages/**/*.vue'))

this.$options.components[component_name] = resolvePageComponent(`./Pages/Components/Inputs/${component_name}.vue`, import.meta.glob('./Pages/**/*.vue'))

this.$options.components[component_name] = resolvePageComponent(`@/Pages/Components/Inputs/${component_name}.vue`, import.meta.glob('./Pages/**/*.vue'))
Run Code Online (Sandbox Code Playgroud)

他们都抛出相同的异常

"Uncaught (in promise) Error: Page not found: ./Pages/Components/Inputs/Text.vue".
Run Code Online (Sandbox Code Playgroud)

inertiajs laravel vue.js vuejs3 vite

5
推荐指数
1
解决办法
975
查看次数

将 .rar 文件解压到 php 中的特定目录

我想使用 php 提取.rar 文件而不是.zip 文件我按照 php 手册中的示例进行操作

PHP手册

本教程中的问题不是将文件提取到目录,而是将文件的内容打印到浏览器。

php rar

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

laravel ×3

php ×3

curl ×1

guzzle ×1

inertiajs ×1

laravel-passport ×1

rar ×1

saml ×1

single-sign-on ×1

vite ×1

vue.js ×1

vuejs3 ×1