decidim-system 0.30.2 → 0.31.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/system/create_api_user.rb +63 -0
  3. data/app/commands/decidim/system/create_oauth_application.rb +3 -1
  4. data/app/commands/decidim/system/create_organization.rb +0 -1
  5. data/app/commands/decidim/system/refresh_api_user_secret.rb +37 -0
  6. data/app/commands/decidim/system/update_oauth_application.rb +4 -1
  7. data/app/commands/decidim/system/update_organization.rb +1 -0
  8. data/app/controllers/decidim/system/admins_controller.rb +2 -2
  9. data/app/controllers/decidim/system/api_users_controller.rb +76 -0
  10. data/app/controllers/decidim/system/application_controller.rb +1 -0
  11. data/app/controllers/decidim/system/oauth_applications_controller.rb +2 -2
  12. data/app/controllers/decidim/system/organizations_controller.rb +4 -4
  13. data/app/forms/decidim/system/api_user_form.rb +24 -0
  14. data/app/forms/decidim/system/base_organization_form.rb +2 -1
  15. data/app/forms/decidim/system/oauth_application_form.rb +29 -2
  16. data/app/helpers/decidim/system/api_users_helper.rb +17 -0
  17. data/app/packs/entrypoints/decidim_system_overrides.scss +1 -1
  18. data/app/packs/stylesheets/decidim/system/application.scss +16 -1
  19. data/app/views/decidim/system/api_users/index.html.erb +13 -0
  20. data/app/views/decidim/system/api_users/new.html.erb +15 -0
  21. data/app/views/decidim/system/oauth_applications/_form.html.erb +35 -0
  22. data/app/views/decidim/system/organizations/_advanced_settings.html.erb +1 -1
  23. data/app/views/decidim/system/organizations/_file_upload_settings.erb +5 -5
  24. data/app/views/decidim/system/organizations/_omniauth_provider.html.erb +1 -1
  25. data/app/views/decidim/system/organizations/edit.html.erb +4 -0
  26. data/app/views/decidim/system/shared/_api_users.html.erb +66 -0
  27. data/app/views/layouts/decidim/system/_header.html.erb +1 -1
  28. data/app/views/layouts/decidim/system/application.html.erb +2 -2
  29. data/config/assets.rb +2 -2
  30. data/config/locales/ca-IT.yml +69 -0
  31. data/config/locales/ca.yml +69 -0
  32. data/config/locales/cs.yml +34 -0
  33. data/config/locales/de.yml +10 -0
  34. data/config/locales/en.yml +73 -0
  35. data/config/locales/es-MX.yml +69 -0
  36. data/config/locales/es-PY.yml +69 -0
  37. data/config/locales/es.yml +69 -0
  38. data/config/locales/eu.yml +69 -0
  39. data/config/locales/fi-plain.yml +69 -0
  40. data/config/locales/fi.yml +69 -0
  41. data/config/locales/fr-CA.yml +1 -0
  42. data/config/locales/fr.yml +1 -0
  43. data/config/locales/ja.yml +68 -0
  44. data/config/locales/sv.yml +67 -0
  45. data/config/routes.rb +1 -0
  46. data/lib/decidim/system/engine.rb +1 -1
  47. data/lib/decidim/system/menu.rb +7 -1
  48. data/lib/decidim/system/version.rb +1 -1
  49. data/lib/decidim/system.rb +6 -0
  50. metadata +14 -6
@@ -8,6 +8,9 @@ fi:
8
8
  organization_name: Organisaatio
9
9
  organization_url: Organisaation URL-osoite
10
10
  redirect_uri: Uudelleenohjauksen osoite (URI)
11
+ refresh_tokens: Päivitettävät rajapinta-avaimet (refresh tokens)
12
+ refresh_tokens_enabled: Päivitettävät rajapinta-avaimet käytössä
13
+ scopes: Tarjolla olevat rajapintatoiminnot
11
14
  organization:
12
15
  address: SMTP-palvelimen osoite
13
16
  from_email: Sähköpostiosoite
@@ -39,12 +42,28 @@ fi:
39
42
  decidim:
40
43
  system:
41
44
  actions:
45
+ api_user:
46
+ hidden_secret: Rajapintasalasana on piilotettu
47
+ hide_secret: Piilota rajapintasalasana
48
+ secret_can_not_be_shown: rajapintasalasana näytetään ja sen voi kopioida ainoastaan sen luonnin jälkeen
49
+ show_secret: Näytä rajapintasalasana
50
+ shown_secret: Rajapintasalasana näytetään
51
+ api_users:
52
+ create: Luo
53
+ new: Uusi rajapintakäyttäjä
54
+ remove: Poista käyttäjä
42
55
  confirm_destroy: Haluatko varmasti poistaa tämän?
56
+ confirm_refresh_api_secret: Haluatko varmasti päivittää rajapintasalasanan tälle rajapintakäyttäjälle? Päivittämisen jälkeen vanha salasana mitätöidään, eikä sitä voi enää käyttää.
57
+ confirm_remove_api_user: Haluatko varmasti poistaa tämän rajapintakäyttäjän?
58
+ copied: Kopioitu
59
+ copy_secret: Kopioi rajapintasalasana
60
+ copy_secret_clarification: Kopioi rajapintasalasana leikepöydälle
43
61
  destroy: Poista
44
62
  edit: Muokkaa
45
63
  new_admin: Uusi hallintakäyttäjä
46
64
  new_oauth_application: Uusi OAuth-Sovellus
47
65
  new_organization: Uusi organisaatio
66
+ refresh_secret: Päivitä rajapintasalasana
48
67
  save: Tallenna
49
68
  title: Toiminnot
50
69
  admins:
@@ -64,6 +83,25 @@ fi:
64
83
  update:
65
84
  error: Hallintakäyttäjän päivitys epäonnistui.
66
85
  success: Hallintakäyttäjän päivitys onnistui.
86
+ api_user:
87
+ create:
88
+ error: Rajapintakäyttäjän luonti epäonnistui.
89
+ success: Rajapintakäyttäjän luonti onnistui. Käyttäjän rajapintasalasana näytetään ainoastaan sen luonnin jälkeen. Kopioi avain talteen ja tallenna se turvalliseen paikkaan ennen kuin poistut tältä sivulta!
90
+ destroy:
91
+ success: Rajapintakäyttäjän poisto onnistui.
92
+ refresh:
93
+ error: Jokin meni vikaan. Yritä myöhemmin uudelleen.
94
+ success: Rajapintasalasanan päivittäminen onnistui. Käyttäjän rajapintasalasana näytetään ainoastaan sen luonnin jälkeen. Kopioi avain talteen ja tallenna se turvalliseen paikkaan ennen kuin poistut tältä sivulta!
95
+ api_users:
96
+ index:
97
+ explanation_html: |
98
+ <p>Rajapintakäyttäjät mahdollistavat ulkoisille integraatiokehittäjille uusien koneelliseen käyttöön tarkoitettujen hallintakäyttäjätilien luonnin järjestelmään. Nämä koneelliset käyttäjät voivat toimia alustan hallintakäyttäjinä ja suorittaa kaikkia niitä hallintakäyttäjän toimintoja, joita normaalit hallintakäyttäjät voisivat suorittaa hallintapaneelin kautta. Tyypillinen käyttötapaus on ulkoiset hallinnointialustat, joissa automaattinen ohjelmallinen työkalu suorittaa hallintakäyttäjän tehtäviä ilman, että oikea käyttäjä kirjautuu alustalle sisään. Esimerkiksi automaatiojärjestelmä voisi lähettää vastauksia ehdotuksiin, jolloin tarvitaan integraatiokäyttäjä, jolla on oikeudet suorittaa tämä toiminto tällä alustalla.</p>
99
+ <p>Näiden käyttäjien ja normaalien hallintakäyttäjien suurin ero on, että nämä rajapintakäyttäjät on tarkoitettu koneiden käytettäväksi ja siten niiden salasanavaatimukset ovat erilaiset. Rajapintakäyttäjiltä ei vaadita salasanan päivittämistä tasaisin väliajoin ja salasanan vaihtaminen voidaan toteuttaa hallitusti, kun se on tarpeen.</p>
100
+ <p>Nämä tunnukset on tarkoitettu koneiden käytettäväksi. Osallistujille suunnatut sovellukset tulisi integroida <a href="%{oauth_link}">OAuth-sovellusten avulla</a>.</p>
101
+ manage: Hallitse rajapintakäyttäjiä
102
+ new:
103
+ select_organization: Valitse organisaatio
104
+ title: Luo uusi rajapintakäyttäjä
67
105
  dashboard:
68
106
  show:
69
107
  admins: Hallintakäyttäjät
@@ -92,6 +130,7 @@ fi:
92
130
  sign_up: Luo tili
93
131
  menu:
94
132
  admins: Hallinnoijat
133
+ api_credentials: Rajapintatunnukset
95
134
  dashboard: Hallintapaneeli
96
135
  oauth_applications: OAuth-sovellukset
97
136
  organizations: Organisaatiot
@@ -102,6 +141,15 @@ fi:
102
141
  email: Sähköposti
103
142
  validations:
104
143
  email_uniqueness: toinen hallintakäyttäjä on jo olemassa samalla sähköpostilla
144
+ api_user:
145
+ fields:
146
+ created_at: Luonnin ajankohta
147
+ key: Rajapintakäyttäjän avain
148
+ name: Nimi
149
+ organization: Organisaatio
150
+ secret: Salasana
151
+ validations:
152
+ name_uniqueness: Samanniminen rajapintakäyttäjä on jo olemassa.
105
153
  oauth_application:
106
154
  fields:
107
155
  created_at: Luontiaika
@@ -128,6 +176,26 @@ fi:
128
176
  save: Tallenna
129
177
  title: Muokkaa sovellusta
130
178
  form:
179
+ application_type:
180
+ confidential:
181
+ explanation: Sovellukset, jotka voivat turvallisesti tunnistautua tunnistautumispalvelimelle ja jotka voivat tallentaa niiden rajapintasalasanan turvallisesti käyttäjien ulottumattomiin. Tyypillisesti tämäntyyppiset sovellukset ajetaan palvelimella, johon asiakasohjelmiston salasana tallennetaan.
182
+ name: Luottamuksellinen
183
+ public:
184
+ explanation: Sovellukset, jotka eivät voi turvallisesti tallentaa asiakasohjelmiston salasanoja, kuten selaimessa tai mobiililaitteessa ajettava ohjelmisto.
185
+ name: Julkinen
186
+ application_type_help_html: 'OAuth-sovelluksen tyyppi <a href="%{client_type_link}" target="_blank">RFC 6749 osion 2.1</a> mukaisesti. Julkisten asiakasohjelmistojen on toteutettava PKCE-tunnistustapa, joka on määritelty <a href="%{pkce_link}" target="_blank">RFC 7636:ssa</a>. '
187
+ refresh_tokens_help_html: 'Päivitettävät rajapintatunnukset ovat hyödyllisiä, mikäli rajapintatunnusten on oltava voimassa pidempään kuin pääsytunnusten oletusarvoinen voimassaoloaika. Huomioithan, että <strong>päivitettäviä rajapintatunnuksia tulisi käyttää varovasti</strong>, koska ne voivat heikentää loppukäyttäjien tietoturvaa. '
188
+ scopes_explanation:
189
+ "api:read": Mahdollistaa käyttäjille rajapintakyselyiden (query) tekemisen GraphQL-rajapinnan kautta.
190
+ "api:write": Mahdollistaa käyttäjille rajapintapäivitysten (mutation) tekemisen GraphQL-rajapinnan kautta.
191
+ profile: Antaa pääsyn käyttäjän oman profiilin tietoihin. Ainoastaan tämä rajapintatoiminto tarvitaan, mikäli OAuth sovellusta käytetään ainoastaan käyttäjien tunnistamiseen tai kirjautumistoimintojen tarjoamiseen.
192
+ user: Mahdollistaa käyttäjien esiintymisen itsenään rajapintatunnuksen avulla tehdessään kyselyitä GraphQL-rajapintaan. Tätä rajapintatoimintoa tarvitaan kaikkiin api:write -operaatioihin tai api:read -operaatioihin, jotka tarvitsevat tietoa kirjautuneesta käyttäjästä.
193
+ scopes_help_html: |
194
+ Valitut rajapintatoiminnot ovat saataville yhdistävien sovellusten pyydettäviksi kirjautumisprosessin aikana. Käyttäjälle esitetään tietoja kirjautumispyynnöstä OAuth-kirjautumisen yhteydessä.
195
+ <br>
196
+ Eri toiminnot tarjoavat erilaisia ominaisuuksia tunnistautuneille käyttäjille heidän käyttäessään rajapintatunnuksiaan.
197
+ <br>
198
+ <strong>Huomioithan:</strong> Mikäli haluat ainoastaan tunnistaa käyttäjät tai tarjota heille OAuth-kirjautumisen ulkoiseen sovellukseen, tarvitset ainoastaan rajapintatoiminnon <strong>profile</strong>. Sovellukset, jotka hyödyntävät Decidim-sovelluksen rajapintaa, tarvitsevat myös muita rajapintatoimintoja.
131
199
  select_organization: Valitse organisaatio
132
200
  index:
133
201
  confirm_delete: Haluatko varmasti poistaa tämän sovelluksen?
@@ -216,6 +284,7 @@ fi:
216
284
  intro: |
217
285
  Ole erityisen varovainen harkitessasi näiden asetusten muuttamista. Mitä vähemmän sallit, sitä parempi.
218
286
  Sallimalla tietyt tiedostopäätteet tai MIME-tyypit voit altistaa järjestelmän käyttäjät turvallisuusriskeille ja se voi myös vaikuttaa sivuston saavutettavuuteen.
287
+ header_snippets_help_html: Käytä tätä kenttää lisätäksesi uusia HTML-otsakkeita. Yleisin käyttötarkoitus on kolmannen osapuolen palveluiden integrointi, missä tarvitaan ylimääräisiä JavaScript- tai CSS-tiedostoja. Voit myös käyttää asetusta lisätäksesi uusia meta-merkintöjä HTML:ään. Huomioithan, että tämä asetus vaikuttaa vain osallistujille suunnatuilla julkisilla sivuilla, ei hallintakäyttäjien osiossa. Jos koodi on vuorovaikutuksessa ulkoisten sovellusrajapintojen kanssa tai se ei ole palvelun turvallisuuskäytännön mukainen, sisällön turvallisuuskäytäntöä (CSP, Content Security Policy) tulee muuttaa. Lue lisää <a href="https://docs.decidim.org/develop/en/customize/content_security_policy">dokumentaatiosivustolta</a>.
219
288
  index:
220
289
  title: Organisaatiot
221
290
  new:
@@ -217,6 +217,7 @@ fr-CA:
217
217
  intro: |
218
218
  Veuillez être extrèmement prudent lorsque vous envisagez de modifier ces paramètres. Moins vous autorisez, mieux c'est.
219
219
  L'autorisation d'extensions de fichiers spécifiques ou de types MIME peut exposer les utilisateurs du système à des risques de sécurité et peut également affecter l'accessibilité du site.
220
+ header_snippets_help_html: Utilisez ce champ pour ajouter des éléments à l'en-tête "head" HTML. L’utilisation la plus courante est d’intégrer des services tiers qui nécessitent du JavaScript ou du CSS supplémentaires. De plus, vous pouvez l'utiliser pour ajouter des balises méta supplémentaires au HTML. Notez que cela ne sera rendu que dans les pages publiques, pas dans la section admin. Si le code interagit avec des API externes ou ne respecte pas les directives de sécurité de l'application, il sera nécessaire de modifier la politique de sécurité du contenu. En savoir plus <a href="https://docs.decidim.org/develop/en/customize/content_security_policy">sur le site de documentation</a>.
220
221
  index:
221
222
  title: Organisations
222
223
  new:
@@ -217,6 +217,7 @@ fr:
217
217
  intro: |
218
218
  Veuillez être extrêmement prudent lorsque vous envisagez de modifier ces paramètres. Moins vous autorisez, mieux c'est.
219
219
  L'autorisation d'extensions de fichiers spécifiques ou de types MIME peut exposer les utilisateurs du système à des risques de sécurité et peut également affecter l'accessibilité du site.
220
+ header_snippets_help_html: Utilisez ce champ pour ajouter des éléments à l'en-tête "head" HTML. L’utilisation la plus courante est d’intégrer des services tiers qui nécessitent du JavaScript ou du CSS supplémentaires. De plus, vous pouvez l'utiliser pour ajouter des balises méta supplémentaires au HTML. Notez que cela ne sera rendu que dans les pages publiques, pas dans la section admin. Si le code interagit avec des API externes ou ne respecte pas les directives de sécurité de l'application, il sera nécessaire de modifier la politique de sécurité du contenu. En savoir plus <a href="https://docs.decidim.org/develop/en/customize/content_security_policy">sur le site de documentation</a>.
220
221
  index:
221
222
  title: Organisations
222
223
  new:
@@ -8,6 +8,9 @@ ja:
8
8
  organization_name: 組織
9
9
  organization_url: 組織のURL
10
10
  redirect_uri: リダイレクトURI
11
+ refresh_tokens: リフレッシュトークン
12
+ refresh_tokens_enabled: リフレッシュトークンの有効化
13
+ scopes: 使用可能なスコープ
11
14
  organization:
12
15
  address: SMTPホスト名
13
16
  from_email: メールアドレス
@@ -39,12 +42,28 @@ ja:
39
42
  decidim:
40
43
  system:
41
44
  actions:
45
+ api_user:
46
+ hidden_secret: シークレットは非表示です
47
+ hide_secret: シークレットを非表示にする
48
+ secret_can_not_be_shown: API シークレットは作成後にしか閲覧またはコピーできません
49
+ show_secret: シークレットを表示
50
+ shown_secret: シークレットを表示
51
+ api_users:
52
+ create: 作成
53
+ new: 新しいAPIユーザー
54
+ remove: ユーザを削除
42
55
  confirm_destroy: 削除してもよろしいですか?
56
+ confirm_refresh_api_secret: この API ユーザーのシークレットを更新してもよろしいですか? 更新後、古いシークレットは無効になり、使用できなくなります。
57
+ confirm_remove_api_user: この API ユーザーを削除してもよろしいですか?
58
+ copied: コピーしました
59
+ copy_secret: シークレットをコピー
60
+ copy_secret_clarification: クリップボードにシークレットをコピー
43
61
  destroy: 削除
44
62
  edit: 編集
45
63
  new_admin: 新しい管理者
46
64
  new_oauth_application: 新しいOAUTHアプリケーション
47
65
  new_organization: 新しい組織
66
+ refresh_secret: シークレットを更新
48
67
  save: 保存
49
68
  title: アクション
50
69
  admins:
@@ -64,6 +83,25 @@ ja:
64
83
  update:
65
84
  error: 管理者の更新中に問題が発生しました。
66
85
  success: 管理者が正常に更新されました。
86
+ api_user:
87
+ create:
88
+ error: APIユーザーの作成に失敗しました。
89
+ success: APIユーザーを作成しました。ユーザーのシークレットは作成後のみ表示されます。このページを離れる前にコピーして安全に保存してください!
90
+ destroy:
91
+ success: APIユーザーを削除しました。
92
+ refresh:
93
+ error: 問題が発生しました。後ほど改めてお試しください。
94
+ success: シークレットを更新しました。ユーザーのシークレットは作成後にのみ表示されます。このページを離れる前にコピーして安全に保管してください!
95
+ api_users:
96
+ index:
97
+ explanation_html: |
98
+ <p>APIユーザーは、インテグレーション開発者が管理用のマシンユーザーアカウントをシステムに追加できるようにするものです。これらのマシンユーザーは、通常の管理者が管理画面から行う操作を、プラットフォーム上で実行できる管理者として機能します。一般的なユースケースとしては、外部の管理プラットフォームから自動スクリプトが管理業務を実行し、実際のユーザーが認証することなくプラットフォーム上で処理を行う、といったものが挙げられます。たとえば、自動化システムが提案への回答を送信したい場合、そのタスクをこのプラットフォーム上で実行するためにインテグレーションユーザーが必要になります。</p>
99
+ <p>これらのアカウントと通常の管理者アカウントの主な違いは、マシンによる利用を想定しているため、パスワード要件が異なることです。これらのユーザーは定期的にパスワードを変更する必要はなく、必要に応じて管理された方法でパスワードを変更できます。</p>
100
+ <p>これらの認証情報はマシンによる利用を想定しています。参加者向けのアプリケーションとの連携には、<a href="%{oauth_link}">OAuthアプリケーション</a> をご利用ください。</p>
101
+ manage: API ユーザーの管理
102
+ new:
103
+ select_organization: 組織を選択
104
+ title: 新しいAPIユーザーを作成
67
105
  dashboard:
68
106
  show:
69
107
  admins: 管理者
@@ -92,6 +130,7 @@ ja:
92
130
  sign_up: アカウントを作成
93
131
  menu:
94
132
  admins: 管理者
133
+ api_credentials: API認証情報
95
134
  dashboard: ダッシュボード
96
135
  oauth_applications: OAuthアプリケーション
97
136
  organizations: 組織
@@ -102,6 +141,15 @@ ja:
102
141
  email: Eメールアドレス
103
142
  validations:
104
143
  email_uniqueness: 同じメールアドレスを持つ別の管理者が既に存在します
144
+ api_user:
145
+ fields:
146
+ created_at: 作成日時
147
+ key: キー
148
+ name: 名前
149
+ organization: 組織
150
+ secret: シークレット
151
+ validations:
152
+ name_uniqueness: この名前のAPIユーザーは既に存在します。
105
153
  oauth_application:
106
154
  fields:
107
155
  created_at: 作成日時
@@ -128,6 +176,25 @@ ja:
128
176
  save: 保存
129
177
  title: アプリケーションを編集
130
178
  form:
179
+ application_type:
180
+ confidential:
181
+ explanation: 認可サーバーに対して安全に認証できるアプリケーション(たとえば、登録されたクライアントシークレットを安全に保持できるアプリケーション)を指します。一般的には、クライアントシークレットを保管しているサーバー上で動作するアプリケーションが該当します。
182
+ name: コンフィデンシャル
183
+ public:
184
+ explanation: ブラウザやモバイルデバイスで動作するアプリケーションなど、登録済みのクライアントシークレットを使用できないアプリケーション。
185
+ name: パブリック
186
+ application_type_help_html: 'OAuthクライアントの種別は、<a href="%{client_type_link}" target="_blank">RFC 6749 セクション 2.1</a> で定義されています。パブリッククライアントは、<a href="%{pkce_link}" target="_blank">RFC 7636</a> で定義されている PKCE フローを実装する必要があります。'
187
+ refresh_tokens_help_html: 'リフレッシュトークンは、アクセストークンに割り当てられた有効期間よりも長い有効期間が必要な場合に便利です。なお、<strong>リフレッシュトークンの利用には注意が必要です</strong>。不適切に扱うと、ユーザーのセキュリティを弱める可能性があります。 '
188
+ scopes_explanation:
189
+ "api:read": GraphQL API を使用してクエリ操作を実行できます。
190
+ "api:write": GraphQL API を介して変更操作を実行できるようになります。
191
+ profile: ユーザー自身のプロフィール情報へのアクセスを許可します。OAuthアプリケーションをアイデンティティプロバイダーや認証サービスとしてのみ利用する場合は、このスコープだけで十分です。
192
+ user: "GraphQL API への呼び出し時に、与えられたトークンを使用してサインイン中のユーザーとして操作を行うための権限です。これは、現在のユーザーに関する情報を必要とするすべての api:write 操作や api:read 操作に必要です。\n"
193
+ scopes_help_html: |
194
+ 選択したスコープは、認可プロセス中に接続されたアプリケーションがリクエストできるようになります。ユーザーが OAuth を利用してサインインする際には、認可リクエストの詳細が表示されます。 <br>
195
+ スコープによって、付与されたアクセストークンを用いた認証後に利用できる機能が異なります。 <br>
196
+ <strong>注意:</strong> 外部アプリケーションでユーザー認証のみを行いたい場合は、<strong>profile</strong> スコープだけで十分です。Decidim API と連携するアプリケーションには、他のスコープも必要になります。
197
+
131
198
  select_organization: 組織を選択
132
199
  index:
133
200
  confirm_delete: このアプリケーションを削除してもよろしいですか?
@@ -215,6 +282,7 @@ ja:
215
282
  intro: |
216
283
  これらの設定を変更する場合は、余分に注意してください。許可する数が少ないほど好ましいです。
217
284
  特定のファイル拡張子や MIME タイプを許可することは、システムユーザーをセキュリティリスクにさらす可能性があり、ウェブサイトのアクセシビリティにも影響を与える可能性があります。
285
+ header_snippets_help_html: このフィールドは、HTML の head 内に要素を追加するために使用します。最も一般的な用途は、追加の JavaScript や CSS を必要とするサードパーティサービスの統合です。また、HTML に追加のメタタグを挿入することもできます。なお、この内容は公開ページのみに反映され、管理セクションでは表示されません。もしコードが外部 API と連携したり、アプリケーションのセキュリティガイドラインに準拠していない場合は、Content Security Policy(CSP)の変更が必要になります。詳しくは<a href="https://docs.decidim.org/develop/en/customize/content_security_policy">ドキュメントサイト</a>をご覧ください。
218
286
  index:
219
287
  title: 組織
220
288
  new:
@@ -8,6 +8,9 @@ sv:
8
8
  organization_name: Organisation
9
9
  organization_url: Organisationens hemsida
10
10
  redirect_uri: Omdirigerings-URI
11
+ refresh_tokens: Uppdatera tokens
12
+ refresh_tokens_enabled: Uppdatera tokens är aktiverat
13
+ scopes: Tillgängliga omfattningar
11
14
  organization:
12
15
  address: SMTP-värdnamn
13
16
  from_email: E-postadress
@@ -39,12 +42,26 @@ sv:
39
42
  decidim:
40
43
  system:
41
44
  actions:
45
+ api_user:
46
+ hidden_secret: Hemlighet är dold
47
+ hide_secret: Dölj hemlighet
48
+ secret_can_not_be_shown: API:s hemlighet kan bara ses vid skapande eller kopiering
49
+ show_secret: Visa hemlighet
50
+ api_users:
51
+ new: Ny API-användare
52
+ remove: Ta bort användaren
42
53
  confirm_destroy: Vill du radera detta?
54
+ confirm_refresh_api_secret: Är du säker på att du vill uppdatera hemlighet för denna API-användare? Efter uppdateringen kommer den gamla hemligheten att vara ogiltig och kan inte längre användas.
55
+ confirm_remove_api_user: Är du säker på att du vill ta bort denna API-användare?
56
+ copied: Kopierad
57
+ copy_secret: Kopiera hemlighet
58
+ copy_secret_clarification: Kopiera hemlighet till urklipp
43
59
  destroy: Radera
44
60
  edit: Redigera
45
61
  new_admin: Ny administratör
46
62
  new_oauth_application: Ny OAUTH-applikation
47
63
  new_organization: Ny organisation
64
+ refresh_secret: Uppdatera hemlighet
48
65
  save: Spara
49
66
  title: Åtgärder
50
67
  admins:
@@ -64,6 +81,25 @@ sv:
64
81
  update:
65
82
  error: Det gick inte att uppdatera administratören.
66
83
  success: Administratören har uppdaterats.
84
+ api_user:
85
+ create:
86
+ error: Skapandet av API-användare misslyckades.
87
+ success: API-användaren skapades framgångsrikt. Hemligheten för användaren är bara synlig efter skapandet. Kopiera den och lagra den säkert innan du lämnar denna sida!
88
+ destroy:
89
+ success: API-användaren har tagits bort.
90
+ refresh:
91
+ error: Något gick fel. Vänligen försök igen senare.
92
+ success: Hemligheten uppdaterades. Hemligheten för användaren är bara synlig efter skapandet. Kopiera den och lagra den säkert innan du lämnar denna sida!
93
+ api_users:
94
+ index:
95
+ explanation_html: |
96
+ <p>API-användare tillåter integrationsutvecklare att lägga till administrativa konton för maskinanvändare till systemet. Dessa maskinanvändare kan administrera på plattformen för att utföra uppdateringar som vanliga administratörer skulle utföra via administrationspanelen. Ett typiskt användningsfall är en extern dashboard där ett automatiserat skript skulle utföra administrativa uppgifter utan att en verklig användare behöver autentisera mot systemet. Till exempel, ett automationssystem kanske vill skicka svar på förslag ifall vi behöver en integrationsanvändare för att utföra uppgiften på plattformen.</p>
97
+ <p>Största skillnaden mellan dessa konton och normala administratörskonton är att de är avsedda för maskiner och därför deras lösenordskrav är olika. Dessa användare behöver inte regelbundet uppdatera sitt lösenord och ändra kontolösenordet kan hända på ett hanterat sätt när det behövs.</p>
98
+ <p>Dessa referenser är avsedda att användas av maskiner. Medverkande applikationer bör integreras med <a href="%{oauth_link}">OAuth applikationer</a>.</p>
99
+ manage: Hantera API-användare
100
+ new:
101
+ select_organization: Välj din organisation
102
+ title: Skapa ny API-användare
67
103
  dashboard:
68
104
  show:
69
105
  admins: Administratörer
@@ -92,6 +128,7 @@ sv:
92
128
  sign_up: Skapa ett konto
93
129
  menu:
94
130
  admins: Administratörer
131
+ api_credentials: API-uppgifter
95
132
  dashboard: Adminpanel
96
133
  oauth_applications: OAuth-applikationer
97
134
  organizations: Organisationer
@@ -102,6 +139,15 @@ sv:
102
139
  email: E-post
103
140
  validations:
104
141
  email_uniqueness: det finns redan en administratör med samma e-postadress
142
+ api_user:
143
+ fields:
144
+ created_at: Skapad den
145
+ key: Nyckel
146
+ name: Namn
147
+ organization: Organisation
148
+ secret: Hemlighet
149
+ validations:
150
+ name_uniqueness: En API-användare med detta namn finns redan.
105
151
  oauth_application:
106
152
  fields:
107
153
  created_at: Skapad
@@ -128,6 +174,26 @@ sv:
128
174
  save: Spara
129
175
  title: Redigera appen
130
176
  form:
177
+ application_type:
178
+ confidential:
179
+ explanation: Applikationer som kan autentisera auktoriseringsservern riskfritt, till exempel att kunna hålla sin registrerade klient hemlig och säker. Vanligtvis ett program som körs på en server där klienthemligheten lagras.
180
+ name: Konfidentiellt
181
+ public:
182
+ explanation: Applikationer som inte kan använda registrerade klienthemligheter, till exempel för att de körs i en webbläsare eller på en mobil enhet.
183
+ name: Offentlig
184
+ application_type_help_html: 'Klienttypen OAuth enligt definitionen av <a href="%{client_type_link}" target="_blank">RFC 6749 Avsnitt 2.1</a>. Offentliga kunder behöver implementera PKCE-flödet enligt definitionen av <a href="%{pkce_link}" target="_blank">RFC 7636</a>. '
185
+ refresh_tokens_help_html: 'Uppdatera tokens är användbart om de behöver en längre livstid än vad som tilldelas för åtkomsttoken. Observera att <strong>uppdatera token bör användas varsamt</strong> eftersom de kan försvaga säkerheten för dina användare. '
186
+ scopes_explanation:
187
+ "api:read": Tillåter användaren att ställa frågor genom GraphQL API.
188
+ "api:write": Tillåter användaren att göra mutationer genom GraphQL API.
189
+ profile: Ger åtkomst till användarens egna profildetaljer. Endast denna omfattning behövs ifall OAuth-applikationen bara används som identitetsleverantör eller autentiseringstjänst.
190
+ user: Möjlighet att agera som den inloggade användaren med angivet token under samtal till GraphQL API. Detta krävs för alla api:write eller api:read-operationer som behöver information om den aktuella användaren.
191
+ scopes_help_html: |
192
+ De valda omfången kommer att vara åtkomliga för de anslutna apparna under auktoriseringsprocessen. Användaren kommer att få detaljer om behörighetsbegäran när de loggar in med OAuth.
193
+ <br>
194
+ Autentiserade användare har tillgång till olika funktioner av olika omfattning med hjälp av de beviljade åtkomsttokens.
195
+ <br>
196
+ <strong>Obs:</strong> Om du bara behöver autentisera användarna till dina externa applikationer, så behöver du bara <strong>profilens</strong> omfattning. Applikationer som interagerar med Decidim API kräver även andra omfattningar.
131
197
  select_organization: Välj en organisation
132
198
  index:
133
199
  confirm_delete: Vill du ta bort appen?
@@ -166,6 +232,7 @@ sv:
166
232
  title: Tillåtna filändelser
167
233
  file_sizes:
168
234
  title: Maximal filstorlek
235
+ header_snippets_help_html: Använd det här fältet för att göra tillägg till HTML-huvudet. Vanligaste användningen är för att integrera tredjepartstjänster som kräver extra JavaScript eller CSS. Du kan också lägga till extra metataggar till HTML. Observera att detta endast kommer att visas på offentliga sidor, inte i admingränssnittet. Om koden använder externa API:er eller bryter mot webbplatsens riktlinjer behöver du ändra säkerhetspolicyn. Läs mer <a href="https://docs.decidim.org/develop/en/customize/content_security_policy">på dokumentationssidan</a>.
169
236
  index:
170
237
  title: Organisationer
171
238
  new:
data/config/routes.rb CHANGED
@@ -18,6 +18,7 @@ Decidim::System::Engine.routes.draw do
18
18
  end
19
19
  resources :admins, except: [:show]
20
20
  resources :oauth_applications
21
+ resources :api_users, except: [:show] if Decidim.module_installed?(:api)
21
22
 
22
23
  root to: "dashboard#show"
23
24
  end
@@ -24,7 +24,7 @@ module Decidim
24
24
  Decidim::System::Menu.register_system_menu!
25
25
  end
26
26
 
27
- initializer "decidim_system.webpacker.assets_path" do
27
+ initializer "decidim_system.shakapacker.assets_path" do
28
28
  Decidim.register_assets_path File.expand_path("app/packs", root)
29
29
  end
30
30
 
@@ -10,7 +10,13 @@ module Decidim
10
10
  decidim_system.root_path,
11
11
  position: 1,
12
12
  active: ["decidim/system/dashboard" => :show]
13
-
13
+ if Decidim.module_installed?(:api)
14
+ menu.add_item :api_credentials,
15
+ I18n.t("menu.api_credentials", scope: "decidim.system"),
16
+ decidim_system.api_users_path,
17
+ position: 2,
18
+ active: ["decidim/system/api_users"]
19
+ end
14
20
  menu.add_item :organizations,
15
21
  I18n.t("menu.organizations", scope: "decidim.system"),
16
22
  decidim_system.organizations_path,
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-system version.
5
5
  module System
6
6
  def self.version
7
- "0.30.2"
7
+ "0.31.0.rc1"
8
8
  end
9
9
  end
10
10
  end
@@ -9,5 +9,11 @@ module Decidim
9
9
  # eye view of the whole system.
10
10
  #
11
11
  module System
12
+ include ActiveSupport::Configurable
13
+
14
+ # The length of API secrets generated for API users.
15
+ config_accessor :api_users_secret_length do
16
+ ENV.fetch("DECIDIM_SYSTEM_API_USERS_SECRET_LENGTH", 32)
17
+ end
12
18
  end
13
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-system
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.2
4
+ version: 0.31.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-09-23 00:00:00.000000000 Z
13
+ date: 2025-09-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.30.2
35
+ version: 0.31.0.rc1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.30.2
42
+ version: 0.31.0.rc1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: devise
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -94,14 +94,14 @@ dependencies:
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 0.30.2
97
+ version: 0.31.0.rc1
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: 0.30.2
104
+ version: 0.31.0.rc1
105
105
  description: System administration to create new organization in an installation.
106
106
  email:
107
107
  - josepjaume@gmail.com
@@ -116,16 +116,19 @@ files:
116
116
  - app/cells/decidim/system/system_checks/show.erb
117
117
  - app/cells/decidim/system/system_checks_cell.rb
118
118
  - app/commands/decidim/system/create_admin.rb
119
+ - app/commands/decidim/system/create_api_user.rb
119
120
  - app/commands/decidim/system/create_default_content_blocks.rb
120
121
  - app/commands/decidim/system/create_default_help_pages.rb
121
122
  - app/commands/decidim/system/create_default_pages.rb
122
123
  - app/commands/decidim/system/create_oauth_application.rb
123
124
  - app/commands/decidim/system/create_organization.rb
124
125
  - app/commands/decidim/system/destroy_oauth_application.rb
126
+ - app/commands/decidim/system/refresh_api_user_secret.rb
125
127
  - app/commands/decidim/system/update_admin.rb
126
128
  - app/commands/decidim/system/update_oauth_application.rb
127
129
  - app/commands/decidim/system/update_organization.rb
128
130
  - app/controllers/decidim/system/admins_controller.rb
131
+ - app/controllers/decidim/system/api_users_controller.rb
129
132
  - app/controllers/decidim/system/application_controller.rb
130
133
  - app/controllers/decidim/system/dashboard_controller.rb
131
134
  - app/controllers/decidim/system/devise/passwords_controller.rb
@@ -133,11 +136,13 @@ files:
133
136
  - app/controllers/decidim/system/oauth_applications_controller.rb
134
137
  - app/controllers/decidim/system/organizations_controller.rb
135
138
  - app/forms/decidim/system/admin_form.rb
139
+ - app/forms/decidim/system/api_user_form.rb
136
140
  - app/forms/decidim/system/base_organization_form.rb
137
141
  - app/forms/decidim/system/file_upload_settings_form.rb
138
142
  - app/forms/decidim/system/oauth_application_form.rb
139
143
  - app/forms/decidim/system/register_organization_form.rb
140
144
  - app/forms/decidim/system/update_organization_form.rb
145
+ - app/helpers/decidim/system/api_users_helper.rb
141
146
  - app/helpers/decidim/system/application_helper.rb
142
147
  - app/helpers/decidim/system/menu_helper.rb
143
148
  - app/jobs/decidim/system/application_job.rb
@@ -153,6 +158,8 @@ files:
153
158
  - app/views/decidim/system/admins/edit.html.erb
154
159
  - app/views/decidim/system/admins/index.html.erb
155
160
  - app/views/decidim/system/admins/new.html.erb
161
+ - app/views/decidim/system/api_users/index.html.erb
162
+ - app/views/decidim/system/api_users/new.html.erb
156
163
  - app/views/decidim/system/dashboard/show.html.erb
157
164
  - app/views/decidim/system/devise/mailers/password_change.html.erb
158
165
  - app/views/decidim/system/devise/mailers/reset_password_instructions.html.erb
@@ -175,6 +182,7 @@ files:
175
182
  - app/views/decidim/system/organizations/index.html.erb
176
183
  - app/views/decidim/system/organizations/new.html.erb
177
184
  - app/views/decidim/system/shared/_admins_list.html.erb
185
+ - app/views/decidim/system/shared/_api_users.html.erb
178
186
  - app/views/decidim/system/shared/_notices.html.erb
179
187
  - app/views/decidim/system/shared/_organizations_list.html.erb
180
188
  - app/views/layouts/decidim/system/_header.html.erb