# VK ID OAuth 2.1 Authentication for Discourse

**URL:** https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073
**Category:** Plugin
**Created:** [November 10, 2025, 8:10pm UTC](https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073 "2025-11-10T20:10:30Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![kaktak](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kaktak/32/529093_2.png) [@kaktak](https://meta.discourse.org/u/kaktak)
#### Post date: [November 10, 2025, 8:10pm UTC](https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073/1 "2025-11-10T20:10:30Z")

</div>

| | | |
| --- | --- | --- |
| ℹ | **Summary** | OAuth 2.1 authentication plugin with VK ID |
| 🛠 | **Repository Link** | [https://github.com/kaktaknet/discourse-vkid-oauth](https://github.com/kaktaknet/discourse-vkid-oauth) |
| 📖 | **Install Guide** | [How to install plugins in Discourse](https://meta.discourse.org/t/install-plugins-in-discourse/19157) |

  

### Features

🔐 VK ID Authentication for Discourse. OAuth 2.1 authentication plugin with VK ID.

### Configuration

Application registered at [id.vk.ru](https://id.vk.ru/about/business/go)

> **Summary**
>
> ## ⚙ Configuration
> 
> ### Create VK ID Application
> 
> 1. Go to **[VK ID Console](https://id.vk.ru/about/business/go)**
> 2. Click **“Create Application”**
> 3. Choose **“Website”** platform
> 
> ### Configure OAuth
> 
> **Redirect URI:**
> 
> ```plaintext
> https://your-discourse-site.com/auth/vkid/callback
> 
> ```
> 
> **Scopes:**
> 
> - ✅ `vkid.personal_info` (required)
> - ✅ `email` (recommended)
> - ✅ `phone` (optional)
> 
> **PKCE:** ✅ Must be enabled

### Settings

#### Discourse Settings

Navigate to: **Admin → Settings → Login**

| Setting | Value | Description |
| --- | --- | --- |
| `vkid_enabled` | ✅ | Enable VK ID authentication |
| `vkid_client_id` | `123456` | App ID from VK ID console |
| `vkid_client_secret` | `••••••` | Secret key from VK ID |
| `vkid_scope` | `vkid.personal_info email phone` | OAuth scopes |

> **Screen**
>
> ![Vkid-oauth](https://global.discourse-cdn.com/meta/original/4X/e/2/9/e29590b28113e48dffa98e81940c0b7525d625b8.png)

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [November 10, 2025, 8:16pm UTC](https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073/2 "2025-11-10T20:16:45Z")

</div>

Thanks, when you get a chance, can you describe the difference between this plugin and [Discourse VK Authentication (vkontakte)](https://meta.discourse.org/t/discourse-vk-authentication-vkontakte/12987)?

---

<div class="post-metadata">

### Author: ![kaktak](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kaktak/32/529093_2.png) [@kaktak](https://meta.discourse.org/u/kaktak)
#### Post date: [November 10, 2025, 8:18pm UTC](https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073/3 "2025-11-10T20:18:25Z")

</div>

The old plugin worked with the old version of VK authorization. The old version of authorization methods and API are completely broken. The old plugin is not working and is outdated.

---

<div class="post-metadata">

### Author: ![kaktak](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kaktak/32/529093_2.png) [@kaktak](https://meta.discourse.org/u/kaktak)
#### Post date: [November 10, 2025, 8:24pm UTC](https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073/5 "2025-11-10T20:24:18Z")

</div>

It’s not even about the domain changing from .com to .ru; the method itself was different. An application was created for authorization, and a VK group (similar to a Facebook group) was added to the application. The system was different, and now it’s completely gone. The old applications are blocked. Now everything is concentrated on [id.vk.ru](http://id.vk.ru).

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [November 10, 2025, 8:29pm UTC](https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073/6 "2025-11-10T20:29:35Z")

</div>

Thanks for putting up this plugin!

None of our customers are using this authentication provider, and I am not aware of any open source sites either.

I’ved added the #deprecated tag to [Discourse VK Authentication (vkontakte)](https://meta.discourse.org/t/discourse-vk-authentication-vkontakte/12987) and we may remove it, given that it no longer works. And will add a link to this plugin topic.

---

<div class="post-metadata">

### Author: ![Ivan\_Rapekas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ivan_rapekas/32/248924_2.png) [@Ivan\_Rapekas](https://meta.discourse.org/u/Ivan_Rapekas)
#### Post date: [November 17, 2025, 9:45pm UTC](https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073/7 "2025-11-17T21:45:50Z")

</div>

I confirm that this version of the plugin works perfectly instead of the deprecated one.

The setup guide looks decent, thanks.

> [@tobiaseigen](#):
>
> None of our customers are using this authentication provider, and I am not aware of any open source sites either.

Due to new requirements in the legislation of the countrу in my case, it is now required to identify the user through local authorization services, one of which is VK.

---

<div class="post-metadata">

### Author: ![Vsekraski](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vsekraski/32/553869_2.png) [@Vsekraski](https://meta.discourse.org/u/Vsekraski)
#### Post date: [May 11, 2026, 8:26pm UTC](https://meta.discourse.org/t/vk-id-oauth-2-1-authentication-for-discourse/388073/8 "2026-05-11T20:26:57Z")

</div>

Hello, is the plugin no longer working?
