Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

匿名(anonymous)ユーザーでもユーザー登録可能なRest APIを追加して欲しい #15

Open
sanak opened this issue Oct 23, 2020 · 6 comments
Assignees
Labels
Feature Redmine.orgのチケット(もしくはこれから作成するチケット)のトラッカー 取り組み候補

Comments

@sanak
Copy link
Member

sanak commented Oct 23, 2020

問題点

  1. 現状、Users Rest API (https://www.redmine.org/projects/redmine/wiki/Rest_Users) は、Admin権限でないとユーザーの作成ができず、Admin権限のユーザー以外は、/account/register よりHTMLフォームの利用が必要となります。

改善案

  1. 匿名(anonymous)ユーザーでもユーザー登録可能なRest APIを追加して欲しい。
    • 無限にユーザーの作成ができてしまうことを防ぐ何らかの手順が必要?
    • 管理画面のロールで、ON/OFF可能な設定が必要?

Scrapbox

第24回/匿名(anonymous)ユーザーでもユーザー登録可能なRest APIを追加して欲しい #15 - redmine-patch

@ishikawa999 ishikawa999 added Feature Redmine.orgのチケット(もしくはこれから作成するチケット)のトラッカー 取り組み候補 labels Oct 24, 2020
@ishikawa999
Copy link
Contributor

仕様面で議論になりそうなので、仕様を決めてproposalみたいな形でチケットを作るところまで...?

@ishikawa999
Copy link
Contributor

スクリーンショット 2020-11-21 15 15 23

の設定が無効でないならAPIでもできてよさそう

@sanak
Copy link
Member Author

sanak commented Apr 26, 2021

こちら、上記の設定が無効でない場合に、Redmine Rest API Wiki (https://www.redmine.org/projects/redmine/wiki/Rest_api) に記載されてない /account/register.json にPOSTすることで、ユーザー登録自体は行われることを確認しました。

$ curl -i -H "Content-Type: application/json" -X POST http://localhost:3000/account/register.json \
    -d '{"user": {"login": "XXXXX", "firstname": "YY", "lastname": "ZZZZZZ", "mail": "[email protected]", "password": "************"}}'

HTTP/1.1 302 Found
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: strict-origin-when-cross-origin
Location: http://localhost:3000/my/account
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
Set-Cookie: _redmine_session=********...; path=/; HttpOnly
X-Request-Id: ********...
X-Runtime: 0.055686
Vary: Origin
Content-Length: 98

<html><body>You are being <a href="http://localhost:3000/my/account">redirected</a>.</body></html>

ただし、戻り値が text/html のHTML形式となっているなど、期待(設計)通りの動作となっているかが不明でしたので、後ほど www.redmine.org の方で探して、類似のものがなければ起票するようにします。
(※なお、JSONフォーマットでのGET の場合もHTML形式で出力されていましたので、こちらについても記載の予定です。)

curl -i -H "Content-Type: application/json" http://localhost:3000/account/register.json

@sanak sanak self-assigned this Apr 26, 2021
@sanak
Copy link
Member Author

sanak commented May 8, 2021

本家の方では下記のIssueが該当するようでした。後ほど、上記内容を追記します。

@sanak
Copy link
Member Author

sanak commented May 10, 2021

取り急ぎ、上記のIssueにコメントを追記しました。

@sanak
Copy link
Member Author

sanak commented May 27, 2022

こちらですが、極めてまれなユースケースだと思いますので、私の方で個人的にパッチ作成=>投稿までを行っていこうかと思ってます。
(なので、パッチ会取り組み候補からは取り下げさせてもらうかもしれません。)

@sanak sanak changed the title ユーザー登録 Rest API の改善案 匿名(anonymous)ユーザーでもユーザー登録可能なRest APIを追加して欲しい Jun 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Redmine.orgのチケット(もしくはこれから作成するチケット)のトラッカー 取り組み候補
Projects
None yet
Development

No branches or pull requests

2 participants