markbates / goth

Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications.
https://blog.gobuffalo.io/goth-needs-a-new-maintainer-626cd47ca37b
MIT License
5.2k stars 566 forks source link

Bitrix24 Provider #533

Open SunnyWolf opened 6 months ago

SunnyWolf commented 6 months ago

Feature Description

Hello. I would like to suggest add new authentification provider for Bitrix24 (https://www.bitrix24.com/)

Bitrix24 is a product for collaboration, task and projects managment, CRM (JIRA Software Alternative).

Bitrix24 provider has possibility to develop integrations with authentications based on OAuth2 protocol, but has specific UserInfo api endpoint.

https://training.bitrix24.com/support/training/course/?COURSE_ID=169&LESSON_ID=20182 HOWTO setup Bitrix24:

  1. Open Bitrix24.
  2. Create new organization
  3. Go to Developer Resources->Other->Local Application
  4. Create new application
  5. Setup parameters:
    • App type: Server
    • Available as script only: yes
    • Your handler path: gitea auth handler
    • Initial installation path: empty
    • Application ID
    • Application key (client_secret)
    • Permissions: users_basic

image

How I think should look settings:

  1. Auth url https://yourcompanydomain.bitrix24.ru/oauth/authorize/ or https://yourcompanydomain.bitrix24.com/oauth/authorize/ I think gitea interface should have a field with property Company Bitrix URL: yourcompanydomain.bitrix24.com Or Company and Domain [ru|com]
  2. Fields ClientId and ClientSecret
  3. Handler URL (needs for Bitrix24. It does not accept return_urls)

Getting user info: Need to send GET request for https://companydomain.bitrix24.ru/rest/user.current.json You will get json with such structure:

{
  "response": {
    "ID":1,
    "NAME":"John",
    "LAST_NAME":"Doe",
    "EMAIL":"john.doe@yourcompany.ru"
    ...
  }
}

Bitrix24 allows make "local app intergation" only for enterprice subcription. But it have 2 weeks free period, also you can registrate new organization for test cases.

yaronius commented 4 months ago

⚠️ Bitrix is from Russia.

SWUbanner