go-gitea / gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
https://gitea.com
MIT License
43.13k stars 5.32k forks source link

OAuth2 provider for Bitrix24 #28404

Open SunnyWolf opened 7 months ago

SunnyWolf commented 7 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 setting page for gitea:

  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.

Screenshots

No response

KN4CK3R commented 7 months ago

This request may be better placed at https://github.com/markbates/goth, the auth provider we use.

SunnyWolf commented 6 months ago

https://github.com/markbates/goth/issues/533 Added new issue