git

[gitea]透過api來新增使用者

gitea 如果想要大量批次產生使用者的話有兩種方式,一種是透過cmd的方式產生

指令可以參考 https://docs.gitea.com/next/administration/command-line

gitea-1.20.3-gogit-windows-4.0-amd64.exe  admin user create --username davidou --admin --password 123456 --email aa@cc.com -c C:\Users\Administrator\Desktop\custom\conf\app.ini

如上圖,就可以產生一個叫做davidou的使用者,你要批量生產就自己用記事本寫指令即可,但是如果你還要管理批量產生、修改、管理你的gitea的話,透過cmd就不是個太方便的做法,這時候可以建議改用web api的方式來做,可以參考https://docs.gitea.com/api/1.21/#tag/admin/operation/adminCreateUser 這份api文件。

1.取得token

在操作api之前,你必須要先取得管理員的token才能操作,才不會任何阿貓阿狗都可以透過Api管理你的gitea。首先你先登入管理員的帳號,然後選設定–>應用程式–>產生新的token

下面會有很多設定看你要不要開放權限,基本上我是都開,畢竟我就是管理者。開好之後,他畫面就會出現一組token,記得要馬上抄起來,因為他將不會再次顯示。要是沒抄到就只好再產生一次了。

之後你就可以用這個token來創使用者

URL可以打http://127.0.0.1:3000/api/v1/admin/users?token=0c029f6160cf0367b1928e4a87c355d99af53e2f

內容如下

{
  "email": "test@davidou.org",
  "full_name": "string",
  "login_name": "string",
  "must_change_password": true,
  "password": "P@ssw0rd",
  "restricted": true,
  "send_notify": true,
  "username": "giteauser1"
}

下面是postman的範例畫面

或是php curl

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://127.0.0.1:3000/api/v1/admin/users?token=0c029f6160cf0367b1928e4a87c355d99af53e2f',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "email": "test@davidou.org",
  "full_name": "string",
  "login_name": "string",
  "must_change_password": false,
  "password": "P@ssw0rd",
  "restricted": true,
  "send_notify": true,
  "username": "giteauser1"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

這樣就可以批量來產生 使用者了

Be the First to comment.

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

(若看不到驗證碼,請重新整理網頁。)