mirror of
https://github.com/YunoHost-Apps/mastodon_ynh.git
synced 2024-09-03 19:46:02 +02:00
commit
627e5ebe58
7 changed files with 71 additions and 11 deletions
|
@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
|
||||||
|
|
||||||
Mastodon is a free, open-source microblogging social network. It is a decentralized alternative to commercial platforms like Twitter and avoids the risks of a single company monopolizing your communication for commercial purposes.
|
Mastodon is a free, open-source microblogging social network. It is a decentralized alternative to commercial platforms like Twitter and avoids the risks of a single company monopolizing your communication for commercial purposes.
|
||||||
|
|
||||||
**Shipped version:** 3.4.4~ynh1
|
**Shipped version:** 3.4.4~ynh2
|
||||||
|
|
||||||
**Demo:** https://joinmastodon.org/
|
**Demo:** https://joinmastodon.org/
|
||||||
|
|
||||||
|
@ -66,6 +66,8 @@ $ screen -r
|
||||||
|
|
||||||
LDAP authentication is activated. All YunoHost users can authenticate.
|
LDAP authentication is activated. All YunoHost users can authenticate.
|
||||||
|
|
||||||
|
Log-out from YunoHost's portal doesn't log out from Mastodon. See https://github.com/YunoHost/issues/issues/501
|
||||||
|
|
||||||
## Documentation and resources
|
## Documentation and resources
|
||||||
|
|
||||||
* Official app website: https://joinmastodon.org/
|
* Official app website: https://joinmastodon.org/
|
||||||
|
|
|
@ -14,7 +14,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour
|
||||||
Mastodon est un réseau social de microblog auto-hébergé et open source. C'est une alternative décentralisée aux plates-formes commerciales comme Twitter. Mastodon évite ainsi les risques qu'une seule société monopolise votre communication à des fins commerciales.
|
Mastodon est un réseau social de microblog auto-hébergé et open source. C'est une alternative décentralisée aux plates-formes commerciales comme Twitter. Mastodon évite ainsi les risques qu'une seule société monopolise votre communication à des fins commerciales.
|
||||||
|
|
||||||
|
|
||||||
**Version incluse :** 3.4.4~ynh1
|
**Version incluse :** 3.4.4~ynh2
|
||||||
|
|
||||||
**Démo :** https://joinmastodon.org/
|
**Démo :** https://joinmastodon.org/
|
||||||
|
|
||||||
|
@ -62,16 +62,14 @@ L'utilisateur admin est créé automatiquement comme : user@domain.tld
|
||||||
|
|
||||||
`$ (cd /var/www/mastodon/live && sudo -u mastodon RAILS_ENV=production PATH=/opt/rbenv/versions/mastodon/bin bin/tootctl --help)`
|
`$ (cd /var/www/mastodon/live && sudo -u mastodon RAILS_ENV=production PATH=/opt/rbenv/versions/mastodon/bin bin/tootctl --help)`
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
* Documentation officielle : https://docs.joinmastodon.org/
|
|
||||||
|
|
||||||
## Caractéristiques spécifiques YunoHost
|
## Caractéristiques spécifiques YunoHost
|
||||||
|
|
||||||
#### Support multi-utilisateur
|
#### Support multi-utilisateur
|
||||||
|
|
||||||
L'authentification LDAP est activée. Tous les utilisateurs YunoHost peuvent s'authentifier.
|
L'authentification LDAP est activée. Tous les utilisateurs YunoHost peuvent s'authentifier.
|
||||||
|
|
||||||
|
Se déconnecter depuis le portail YunoHost ne vous déconnecte pas de Mastodon. Voir https://github.com/YunoHost/issues/issues/501
|
||||||
|
|
||||||
## Documentations et ressources
|
## Documentations et ressources
|
||||||
|
|
||||||
* Site officiel de l'app : https://joinmastodon.org/
|
* Site officiel de l'app : https://joinmastodon.org/
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
upgrade=1 from_commit=efbdbb05350b820c6e59a7bbbf70f57cf679fff8
|
upgrade=1 from_commit=efbdbb05350b820c6e59a7bbbf70f57cf679fff8
|
||||||
# 3.4.1~ynh4
|
# 3.4.1~ynh4
|
||||||
upgrade=1 from_commit=adec07db890dec787416e1b7c4493d24391d3500
|
upgrade=1 from_commit=adec07db890dec787416e1b7c4493d24391d3500
|
||||||
|
# 3.4.4~ynh1
|
||||||
|
upgrade=1 from_commit=4d413848bf444586e28f3658de0ebe36d6ebf059
|
||||||
backup_restore=1
|
backup_restore=1
|
||||||
multi_instance=0
|
multi_instance=0
|
||||||
change_url=0
|
change_url=0
|
||||||
|
@ -27,3 +29,5 @@ Notification=all
|
||||||
name=3.4.1~ynh1
|
name=3.4.1~ynh1
|
||||||
; commit=adec07db890dec787416e1b7c4493d24391d3500
|
; commit=adec07db890dec787416e1b7c4493d24391d3500
|
||||||
name=3.4.1~ynh4
|
name=3.4.1~ynh4
|
||||||
|
; commit=4d413848bf444586e28f3658de0ebe36d6ebf059
|
||||||
|
name=3.4.4~ynh1
|
||||||
|
|
|
@ -36,3 +36,5 @@ $ screen -r
|
||||||
#### Multi-users support
|
#### Multi-users support
|
||||||
|
|
||||||
LDAP authentication is activated. All YunoHost users can authenticate.
|
LDAP authentication is activated. All YunoHost users can authenticate.
|
||||||
|
|
||||||
|
Log-out from YunoHost's portal doesn't log out from Mastodon. See https://github.com/YunoHost/issues/issues/501
|
||||||
|
|
|
@ -36,12 +36,10 @@ L'utilisateur admin est créé automatiquement comme : user@domain.tld
|
||||||
|
|
||||||
`$ (cd /var/www/mastodon/live && sudo -u mastodon RAILS_ENV=production PATH=/opt/rbenv/versions/mastodon/bin bin/tootctl --help)`
|
`$ (cd /var/www/mastodon/live && sudo -u mastodon RAILS_ENV=production PATH=/opt/rbenv/versions/mastodon/bin bin/tootctl --help)`
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
* Documentation officielle : https://docs.joinmastodon.org/
|
|
||||||
|
|
||||||
## Caractéristiques spécifiques YunoHost
|
## Caractéristiques spécifiques YunoHost
|
||||||
|
|
||||||
#### Support multi-utilisateur
|
#### Support multi-utilisateur
|
||||||
|
|
||||||
L'authentification LDAP est activée. Tous les utilisateurs YunoHost peuvent s'authentifier.
|
L'authentification LDAP est activée. Tous les utilisateurs YunoHost peuvent s'authentifier.
|
||||||
|
|
||||||
|
Se déconnecter depuis le portail YunoHost ne vous déconnecte pas de Mastodon. Voir https://github.com/YunoHost/issues/issues/501
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"en": "Libre and federated social network",
|
"en": "Libre and federated social network",
|
||||||
"fr": "Réseau social libre et fédéré"
|
"fr": "Réseau social libre et fédéré"
|
||||||
},
|
},
|
||||||
"version": "3.4.4~ynh1",
|
"version": "3.4.4~ynh2",
|
||||||
"url": "https://github.com/mastodon/mastodon",
|
"url": "https://github.com/mastodon/mastodon",
|
||||||
"upstream": {
|
"upstream": {
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
|
|
56
sources/patches/app-sso.patch
Normal file
56
sources/patches/app-sso.patch
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
|
||||||
|
index 7c36bc6b8..3f691d102 100644
|
||||||
|
--- a/app/controllers/application_controller.rb
|
||||||
|
+++ b/app/controllers/application_controller.rb
|
||||||
|
@@ -69,7 +69,7 @@ class ApplicationController < ActionController::Base
|
||||||
|
end
|
||||||
|
|
||||||
|
def after_sign_out_path_for(_resource_or_scope)
|
||||||
|
- new_user_session_path
|
||||||
|
+ "https://#{File.read('/etc/yunohost/current_host')}/yunohost/sso/?action=logout"
|
||||||
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
|
||||||
|
index 5232e6cfd..160348674 100644
|
||||||
|
--- a/config/initializers/devise.rb
|
||||||
|
+++ b/config/initializers/devise.rb
|
||||||
|
@@ -180,7 +180,7 @@ Devise.setup do |config|
|
||||||
|
# given strategies, for example, `config.http_authenticatable = [:database]` will
|
||||||
|
# enable it only for database authentication. The supported strategies are:
|
||||||
|
# :database = Support basic authentication with authentication key + password
|
||||||
|
- config.http_authenticatable = [:pam, :database]
|
||||||
|
+ config.http_authenticatable = [:two_factor_ldap, :pam, :database]
|
||||||
|
|
||||||
|
# If 401 status code should be returned for AJAX requests. True by default.
|
||||||
|
# config.http_authenticatable_on_xhr = true
|
||||||
|
diff --git a/lib/devise/two_factor_ldap_authenticatable.rb b/lib/devise/two_factor_ldap_authenticatable.rb
|
||||||
|
index 065aa2de8..0eb4be10c 100644
|
||||||
|
--- a/lib/devise/two_factor_ldap_authenticatable.rb
|
||||||
|
+++ b/lib/devise/two_factor_ldap_authenticatable.rb
|
||||||
|
@@ -5,13 +5,13 @@ require 'devise/strategies/base'
|
||||||
|
|
||||||
|
module Devise
|
||||||
|
module Strategies
|
||||||
|
- class TwoFactorLdapAuthenticatable < Base
|
||||||
|
+ class TwoFactorLdapAuthenticatable < Authenticatable
|
||||||
|
def valid?
|
||||||
|
- valid_params? && mapping.to.respond_to?(:authenticate_with_ldap)
|
||||||
|
+ (valid_for_params_auth? || valid_for_http_auth?) && mapping.to.respond_to?(:authenticate_with_ldap)
|
||||||
|
end
|
||||||
|
|
||||||
|
def authenticate!
|
||||||
|
- resource = mapping.to.authenticate_with_ldap(params[scope])
|
||||||
|
+ resource = mapping.to.authenticate_with_ldap(authentication_hash.merge(:password => password))
|
||||||
|
|
||||||
|
if resource && !resource.otp_required_for_login?
|
||||||
|
success!(resource)
|
||||||
|
@@ -23,7 +23,7 @@ module Devise
|
||||||
|
protected
|
||||||
|
|
||||||
|
def valid_params?
|
||||||
|
- params[scope] && params[scope][:password].present?
|
||||||
|
+ super && params[scope][:password].present?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Reference in a new issue