在如今的互联网应用中,用户身份验证几乎是每个项目不可或缺的一部分。尤其是当应用需要整合外部服务时,第三方授权登录成为了一种常见的做法。然而,很多开发者仍然手动实现各种第三方登录功能,既费时又容易出错。为了简化这个过程,@sidebase/nuxt-auth
提供了一个强大且易于集成的解决方案,让你无需再手动编写每个服务的授权代码。
本文将带你了解为什么你应该使用 @sidebase/nuxt-auth
,如何通过它实现第三方授权登录,并探讨它的优点。
@sidebase/nuxt-auth 是一个搭配 Nuxt3
使用的项目鉴权插件,其功能是基于 【Authjs】实现的,因此很多配置项与 Authjs
相同。
ps: Authjs支持的功能比较多,所以一般都采用
Authjs
方案,但@sidebase/nuxt-auth
在使用 @sidebase/nuxt-auth
时,需要配置一些基本配置项,可以参考官方文档:https://auth.sidebase.io/guide/authjs/quick-start
其中基础配置项为:
tsexport default defineNuxtConfig({
modules: ['@sidebase/nuxt-auth'],
auth: {
provider: {
type: 'authjs',
trustHost: false,
defaultProvider: 'github',
addDefaultCallbackUrl: true
}
}
})
配置上述内容后,即需要根据 @sidebase/nuxt-auth
官方文档编写登录接口,具体内容再次不赘述,有需要可自行查阅。
之后就可以正常启动测试,但是启动时大概率会报错:
ℹ AUTH_NO_ORIGIN: No origin - this is an error in production, see https://sidebase.io/nuxt-auth/resources/errors. You can ignore this during development
根据这个错误信息可以知道,开发环境可以忽略这个错误,但是如果你看到这里就不管了,生产环境不做处理必然会报错,那么如何解决呢?
该脚本的主要功能是递归处理指定文件夹及其子文件夹中的文件,按照文件名的编码部分(通过空格拆分获取第一个部分)去重,只保留最新创建的文件,并删除重复文件。该功能在文件备份管理中非常有用,能够有效减少冗余文件,节省存储空间。
设置 type
为 "commonjs"
和 "module"
的主要区别是决定了你在项目中使用 模块化语法 的方式。它们是两种不同的模块化规范,各有特点和适用场景。在 Electron 项目中,这种选择会影响你的代码组织和兼容性。
PS:下面都是一堆屁话,试用electron强烈推荐使用
commonjs
语法,因为使用ESM(module)
语法可能会遇到各种各样奇怪的问题,一旦出现问题比较麻烦!!!