小编Ali*_*afi的帖子

Gmail 登录后 Cookie 被删除

我正在使用 Laravel Framework 5.6 版实现在线预订系统并Laravel Socialite实现 gmail 登录。

\n\n

我有一个方法可以在预订之前检查用户是否登录,或者通过 redis 和 cookie 放置reserveDataredirectUrl指定uniqid以在登录后获取它:

\n\n
public function checkAuthentication(Request $request)\n{\n    $reserveData = json_decode($request->input(\'reserveData\'), true);\n    Session::put(\'reserveData\', $reserveData);\n\n    if (!Auth::check()) {\n        $reserveID = uniqid();\n        Cookie::queue(Cookie::forget(\'reserveID\'));\n        Cookie::queue(Cookie::make(\'reserveID\', $reserveID, 1440));\n\n        $stepData = [\n            \'redirectUrl\' => route(\'reserve\', [\'productId\' => $reserveData[\'productId\']]),\n            \'reserveData\' => $reserveData\n        ];\n\n        Redis::set($reserveID, serialize($stepData));\n\n        return redirect()->route(\'redirectToGmail\');\n    }\n\n    return redirect()->route(\'reserve\', [\'productId\' => $reserveData[\'productId\']]);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

重定向到Gmail

\n\n
public function redirectToGmail()\n{\n    return Socialite::driver(\'google\')->redirect();\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是,仅在用户第一次尝试登录时uniqid从 …

php cookies laravel laravel-socialite

6
推荐指数
1
解决办法
452
查看次数

如何允许猫鼬模式中的枚举字段为空?

我正在尝试使用mongoose在 MongoDB 中创建一个新对象。

这是我的猫鼬模式:

const UsersSchema = new Schema<BaseUser>(
    {
        email: {
            type: Schema.Types.String,
            index: true,
            required: true,
            unique: true,
        },
        someKey: {
            type: Schema.Types.String,
            default: null,
            required: false,
            enum: Object.values(SomeEnumObj),
        }
    },
    {
        timestamps: true,
    }
);

enum SomeEnumObj = {
 TEST = "TEST",
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下方法创建新用户时:

model.create({
 email: 'some@email.com',
}).exec()
Run Code Online (Sandbox Code Playgroud)

抛出以下错误:

users validation failed: someKey: `null` is not a valid enum value for path `someKey`., 
Run Code Online (Sandbox Code Playgroud)

我能够通过设置来解决这个问题:

users validation failed: someKey: `null` is not a valid enum value …
Run Code Online (Sandbox Code Playgroud)

enums mongoose mongodb node.js typescript

6
推荐指数
1
解决办法
905
查看次数