微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel - 在 Rest API 中 Laravel Socialite Login 中会话的替代方案

如何解决Laravel - 在 Rest API 中 Laravel Socialite Login 中会话的替代方案

我是 Laravel Socialite Login 的新手。在我的 Laravel-8 应用程序中,我使用了:

'Socialite' => Laravel\Socialite\Facades\Socialite::class,

用于 Azure Socialite 登录,适用于多公司登录。我将公司 ID 存储在 Session 中。

public function getCompanies() {
    $current_domain = request()->getHost(); // your company app name
    $domain = explode('.',$current_domain);
    return OrgCompany::where('subdomain',$domain[0])->firstOrFail();
}

public function redirectToProvider(Request $request,OrgSocialiteSetting $azureCredential)
{
    $companies = $this->getCompanies();
    if($companies){
        $company_credentials = OrgSocialiteSetting::where('id',$companies->id)->first();
        //when switching between different API Credentials
        config(['services.azure.client_id' => $company_credentials->client_id]);
        config(['services.azure.client_secret' => $company_credentials->client_secret]);
        config(['services.azure.redirect' => $company_credentials->client_redirect]);

        session(['id' => $request['company']]);
        return Socialite::with('azure')->redirect();
    }
    return back()->with('status','Please select a Valid company');
}

现在我想将相同的代码转换为 Laravel Rest API,从而在 Angular-10 中使用它

我正在使用 Laravel-Passport 和 LaravelSocialite,如上所示。

既然不再用Session了,那我现在怎么处理

session(['id' => $request['company']]);

在上面的代码中?

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。