refactor(auth): switch to class-based social login and v4 route handler
Migrate from function-based social login helpers (`facebookLogin`, `googleLogin`) to class-based services (`new FacebookLogin().signIn()`, `new GoogleLogin().signIn()`), updating call sites in `AuthFacebookPanel` and `SplashButton` with try/catch error handling. The NextAuth route handler is also refactored to the v4 pattern, importing pre-built `GET` / `POST` exports from `@/lib/auth/nextauth` instead of constructing the handler inline with `NextAuth(authOptions)`.
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
---
|
||||
id: vk
|
||||
title: VK
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
https://vk.com/dev/first_guide
|
||||
|
||||
## Configuration
|
||||
|
||||
https://vk.com/apps?act=manage
|
||||
|
||||
## Options
|
||||
|
||||
The **VK Provider** comes with a set of default options:
|
||||
|
||||
- [VK Provider options](https://github.com/nextauthjs/next-auth/blob/v4/packages/next-auth/src/providers/vk.ts)
|
||||
|
||||
You can override any of the options to suit your own use case.
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
import VkProvider from "next-auth/providers/vk";
|
||||
...
|
||||
providers: [
|
||||
VkProvider({
|
||||
clientId: process.env.VK_CLIENT_ID,
|
||||
clientSecret: process.env.VK_CLIENT_SECRET
|
||||
})
|
||||
]
|
||||
...
|
||||
```
|
||||
|
||||
:::note
|
||||
By default the provider uses `5.131` version of the API. See https://vk.com/dev/versions for more info.
|
||||
:::
|
||||
|
||||
If you want to use a different version, you can pass it to provider's options object:
|
||||
|
||||
```js
|
||||
// pages/api/auth/[...nextauth].js
|
||||
|
||||
const apiVersion = "5.131"
|
||||
...
|
||||
providers: [
|
||||
VkProvider({
|
||||
accessTokenUrl: `https://oauth.vk.com/access_token?v=${apiVersion}`,
|
||||
requestTokenUrl: `https://oauth.vk.com/access_token?v=${apiVersion}`,
|
||||
authorizationUrl:
|
||||
`https://oauth.vk.com/authorize?response_type=code&v=${apiVersion}`,
|
||||
profileUrl: `https://api.vk.com/method/users.get?fields=photo_100&v=${apiVersion}`,
|
||||
})
|
||||
]
|
||||
...
|
||||
```
|
||||
Reference in New Issue
Block a user