VK ID OAuth 2.1 Authentication for Discourse

AI-generated summary

kaktak introduces a new VK ID OAuth 2.1 authentication plugin for Discourse, providing a repository link and installation guide. The plugin supports OAuth 2.1 with PKCE, requiring configuration via the VK ID Console. Key settings include enabling vkid_enabled, providing client credentials, and setting scopes such as vkid.personal_info and email. kaktak clarifies that this plugin replaces the outdated Discourse VK Authentication plugin. The previous plugin relied on deprecated authorization methods and API endpoints that are no longer functional, with applications now centralized under id.vk.ru rather than the old .com domain structure.

tobiaseigen acknowledges the contribution and notes that while they are unaware of many open-source sites using this provider, they have added a #deprecated tag to the old plugin topic and plan to link to this new solution. Ivan_Rapekas confirms the new plugin works perfectly and highlights its necessity due to local legislation requiring user identification through domestic services like VK. Vsekraski asks if the old plugin is no longer working, prompting further clarification on the technical differences and the complete shutdown of the legacy system.

:information_source: Summary OAuth 2.1 authentication plugin with VK ID
:hammer_and_wrench: Repository Link https://github.com/kaktaknet/discourse-vkid-oauth
:open_book: Install Guide How to install plugins in Discourse

Features

:locked_with_key: VK ID Authentication for Discourse. OAuth 2.1 authentication plugin with VK ID.

Configuration

Application registered at id.vk.ru

Summary

:gear: Configuration

Create VK ID Application

  1. Go to VK ID Console
  2. Click “Create Application”
  3. Choose “Website” platform

Configure OAuth

Redirect URI:

https://your-discourse-site.com/auth/vkid/callback

Scopes:

  • :white_check_mark: vkid.personal_info (required)
  • :white_check_mark: email (recommended)
  • :white_check_mark: phone (optional)

PKCE: :white_check_mark: Must be enabled

Settings

Discourse Settings

Navigate to: Admin → Settings → Login

Setting Value Description
vkid_enabled :white_check_mark: 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

2 Likes

Thanks, when you get a chance, can you describe the difference between this plugin and Discourse VK Authentication (vkontakte)?

1 Like

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.

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.

4 Likes

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) and we may remove it, given that it no longer works. And will add a link to this plugin topic.

4 Likes

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

The setup guide looks decent, thanks.

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.

3 Likes

Hello, is the plugin no longer working?

1 Like