nextcloud / registration Goto Github PK
View Code? Open in Web Editor NEWUser registration app for Nextcloud
License: GNU Affero General Public License v3.0
User registration app for Nextcloud
License: GNU Affero General Public License v3.0
I tried to upgrade from 1.0 to 1.3 version, and was not possible,
I remove the app to try to install it fresh and got:
App can't be installed because the version in info.xml/version is not the same as the version reported from the app store
please describe in detail how and where to throw files and folders
Please implement support for PostgreSQL databases.
The password policy app (https://apps.owncloud.com/content/show.php/Password+Policy?content=167207) can define password rules (size, special characters, ...) that applied to password.
It would be great if this registration app ask for the same policy !
Currently if using SQLite as database the following error will be thrown out on requesting verification link:
{"reqId":"Eaeke1KhaBnb9qWOh\/vW","remoteAddr":"x.x.x.x","app":"index","message":"Exception: {\"Exception\": \"Doctrine\\\\DBAL\\\\Exception\\\\DriverException\",\"Message\":\"An exception occurred while executing 'UPDATE \\\"oc_registration\\\" SET \\\"registered\\\"=true WHERE \\\"token\\\" = ? ':\\n\\nSQLSTATE[HY000]: General error: 1 no such column: true\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/doctrine\\\/dbal\\\/lib\\\/Doctrine\\\/DBAL\\\/DBALException.php(116): Doctrine\\\\DBAL\\\\Driver\\\\AbstractSQLiteDriver->convertException('An exception oc...', Object(Doctrine\\\\DBAL\\\\Driver\\\\PDOException))\\n#1 \\\/var\\\/www\\\/html\\\/owncloud\\\/3rdparty\\\/doctrine\\\/dbal\\\/lib\\\/ Doctrine\\\/DBAL\\\/Connection.php(785): Doctrine\\\\DBAL\\\\DBALException:: driverExceptionDuringQuery(Object(Doctrine\\\\DBAL\\\\Driver\\\\PDOSqlite\\\\Driver), Object(Doctrine\\\\DBAL\\\\Driver\\\\PDOException), 'UPDATE \\\"oc_regi...')\\n#2 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/db\\\/connection.php(108): Doctrine\\\\DBAL\\\\Connection->prepare('UPDATE \\\"oc_regi...')\\n#3 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/appframework\\\/ db\\\/db.php(59): OC\\\\DB\\\\Connection->prepare('UPDATE `*PREFIX...', NULL, NULL)\\n#4 \\\/var\\\/www\\\/html\\\/owncloud\\\/capps\\\/ registration\\\/db\\\/pendingregist.php(39): OC\\\\AppFramework\\\\Db\\\\Db->prepareQuery('UPDATE `*PREFIX...')\\n#5 \\\/var\\\/www\\\/html\\\/owncloud\\\/capps\\\/registration\\\/controller\\\/registercontroller.php(166): OCA\\\\Registration\\\\Db\\\\PendingRegist- >setRegistered('BIF0wU5sps7he8N...')\\n#6 [internal function]: OCA\\\\Registration\\\\Controller\\\\RegisterController- >createAccount('BIF0wU5sps7he8N...')\\n#7 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/appframework\\\/http\\\/dispatcher.php(159): call_user_func_array(Array, Array)\\n#8 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/appframework\\\/http\\\/dispatcher.php(89): OC\\\\AppFramework\\\\Http\\\\Dispatcher->executeController(Object(OCA\\\\Registration\\\\Controller\\\\RegisterController),
Reports on app store says configuration cannot be saved, investigating.
Hello,
idea to improve your app: add a check box + link for "Terms and Conditions agreement".
To obtain an account, the user should accept terms. From admin page, it could be a simple url (to point to PDF file).
Maybe something similar to https://apps.owncloud.com/content/show.php/disclaimer?content=169150
BR
Nice app...however it is sending a local url. I suppose I would change this in config.php? Not sure at this point, but it sends a local url from my internal network. Thanks for your help.
Hi @pellaeon,
I see that the code is only for 9.0:
https://github.com/pellaeon/registration/blob/master/appinfo/info.xml#L10
is not anymore compatible with 8.2.X (6,7)
Greetings,
Hi! I'm a programmer by trade, but pretty amateur at PHP. I'm willing to help, but need you to help me help you! I downloaded this code and put it on my server running CentOS 6.5 and OwnCloud 7. After copying the files to owncloud/apps/registration, and chown'ing them to "look like" the other files for my site, I tried the PHPUnit tests, but they failed. Here's the output: http://pastebin.com/DW1XJbbF
Any ideas where to start? And ... thanks for working on this. I coach a high school cyberdefense team, and I hope that by the end of the year I'll have them (and myself) contributing to various projects. If we can figure out what's wrong with registration on my server, this will make a nice example to show them of "How Stuff Works."
May break compatibility with ownCloud<8.1
ref: https://owncloud.org/blog/owncloud-8-1-brings-massively-improved-api-for-developers/
The first time didn't send the email, I had to remove the register from the database.
Second time registration was almost finished, but did no add the user to the default group..
It looks that the problem happens with web page over mobile phone.
{"reqId":"I+H8H7/Yz/sk8AdZZIbF","remoteAddr":"132.230.162.5","app":"PHP","message":"Undefined index: errormsgs at /var/www/html/owncloud/apps/registration/templates/form.php#6","level":3,"time":"2015-10-05T13:05:04+02:00"}
{"reqId":"I+H8H7/Yz/sk8AdZZIbF","remoteAddr":"132.230.162.5","app":"PHP","message":"Undefined index: entered_data at /var/www/html/owncloud/apps/registration/templates/form.php#24","level":3,"time":"2015-10-05T13:05:13+02:00"}
{"reqId":"R+jyD3lxoLJIeoU/WEAB","remoteAddr":"132.230.162.5","app":"PHP","message":"Undefined index: user at /var/www/html/owncloud/apps/registration/templates/form.php#24","level":3,"time":"2015-10-05T13:05:51+02:00"}
{"reqId":"8bnGo99XkjbI0S5t9W9H","remoteAddr":"187.176.12.20","app":"core","message":"Sent mail to \"Array\n(\n [[email protected]] => ownCloud User\n)\n\" with subject \"Verifique su solicitud de registro con ownCloud\"","level":0,"time":"2015-10-05T18:17:56+02:00","method":"POST","url":"/index.php/apps/registration/"}
{"reqId":"1X9q3DSd3BDbEkY8B1HB","remoteAddr":"187.176.12.20","app":"core","message":"Sent mail to \"Array\n(\n [[email protected]] => ownCloud User\n)\n\" with subject \"Verifique su solicitud de registro con ownCloud\"","level":0,"time":"2015-10-05T21:07:59+02:00","method":"POST","url":"/index.php/apps/registration/"}
{"reqId":"zSdBNGjBrT8dQARZZYGV","remoteAddr":"187.176.12.20","app":"PHP","message":"Undefined index: errormsgs at /var/www/html/owncloud/apps/registration/templates/form.php#6","level":3,"time":"2015-10-05T21:10:48+02:00","method":"GET","url":"/index.php/apps/registration/verify/+Y9fXS0lxXeYPn2qLccfP5vzShtAtF"}
{"reqId":"zSdBNGjBrT8dQARZZYGV","remoteAddr":"187.176.12.20","app":"PHP","message":"Undefined index: entered_data at /var/www/html/owncloud/apps/registration/templates/form.php#24","level":3,"time":"2015-10-05T21:10:49+02:00","method":"GET","url":"/index.php/apps/registration/verify/+Y9fXS0lxXeYPn2qLccfP5vzShtAtF"}
{"reqId":"ZrbtDpfJBVxzOl8McFK1","remoteAddr":"187.176.12.20","app":"PHP","message":"Call to a member function file_exists() on a non-object at /var/www/html/owncloud/lib/private/files/filesystem.php#688","level":3,"time":"2015-10-05T21:11:21+02:00","method":"POST","url":"/index.php/apps/registration/verify/+Y9fXS0lxXeYPn2qLccfP5vzShtAtF"}
{"reqId":"jL7Z/FmjGFLE4mRYccSN","remoteAddr":"187.176.12.20","app":"PHP","message":"Undefined index: user at /var/www/html/owncloud/apps/registration/templates/form.php#24","level":3,"time":"2015-10-05T21:12:05+02:00","method":"POST","url":"/index.php/apps/registration/verify/+Y9fXS0lxXeYPn2qLccfP5vzShtAtF"}
{"reqId":"qdJqs7f7XJVlgOoJ3ecu","remoteAddr":"187.176.12.20","app":"PHP","message":"Undefined index: user at /var/www/html/owncloud/apps/registration/templates/form.php#24","level":3,"time":"2015-10-05T21:13:54+02:00","method":"POST","url":"/index.php/apps/registration/verify/+Y9fXS0lxXeYPn2qLccfP5vzShtAtF"}
It would be great to have a notification email for admins about new registrations.
Hi!
I saw a lot of activity going on here :)
But there is this warning on the first page...
Could I use this app? What are the limitations at the moment?
Thanks a lot for your work ๐
Do you like https://www.bountysource.com/ ?
I might have some funding. Unfortunately, I have no PHP skills, but If you tell us the price of each bug/feature, we might be able to pay some of them (not sure yet).
(the idea is to pay to have a feature faster).
What do you think?
I have to enter email address and request cerification link in registration, but it unsuccessful, just show this message "A problem occured sending email, please contact your administrator".
How to fix this problem?
Thanks before, very great application. Sorry fo my english....
Best Regard...
i hacked on an old implementation of this and i added a simple ip check so only users within the 10.0.0.0 net would see the registration link and are allowed to register.
self registration is super cool but i wouldn't want everybody in the world to be able to register on our school-cloud-service..
nextcloud/server#211 suggests that there could be a RESTful API for the clients to directly register in the client.
API flow that I can think of now:
POST
email address to /api/register
, returns if address is valid/allowedPOST
to /api/verify
, returns correct/incorrectPOST
credentials and token to /api/create
, returns success/failureA different API design is required considering admin approval #2
Notes:
@pellaeon would be cool if you can publish the app on the store at http://apps.owncloud.com
Your email validation regex allow for the use of +@+ as address, which is very bad and could break things for anybody that uses the same domain as his owncloud server for a mailserver.
i got this problem "A problem occurred sending email, please contact your administrator."
when i press 'request verification link'
Hello,
I installed Registration 0.0.7, and i am trying to get "Enable only for specific groups" feature working - i check it and add the group it should grant to new user. But it does not work - newly made user is still "no group".
Any idea how to solve it?
here is logs:
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166053","level":4,"time":"2015-10-14T18:46:10+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166038","level":4,"time":"2015-10-14T18:46:10+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166049","level":4,"time":"2015-10-14T18:46:10+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166050","level":4,"time":"2015-10-14T18:46:10+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166056","level":4,"time":"2015-10-14T18:46:11+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166051","level":4,"time":"2015-10-14T18:46:11+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166052","level":4,"time":"2015-10-14T18:46:11+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166059","level":4,"time":"2015-10-14T18:46:11+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166055","level":4,"time":"2015-10-14T18:46:12+00:00"}
{"reqId":"8e8dfeb47292ed13469ad1ef344c7aa1","remoteAddr":"111.111.111.111","app":"core","message":"Invalid OCS content returned for app 166054","level":4,"time":"2015-10-14T18:46:12+00:00"}
{"reqId":"94cb7d5ddda8875ab2b004c1c63d710d","remoteAddr":"111.111.111.111","app":"index","message":"Exception: {"Message":"Unable to generate a URL for the named route \"registration.register.askEmail\" as such route does not exist.","Code":0,"Trace":"#0 \/path1\/lib\/private\/route\/router.php(282): Symfony\Component\Routing\Generator\UrlGenerator->generate('registration.re...', Array, false)\n#1 \/path1\/lib\/private\/urlgenerator.php(42): OC\Route\Router->generate('registration.re...', Array)\n#2 \/path1\/apps\/registration\/appinfo\/app.php(17): OC\URLGenerator->linkToRoute('registration.re...')\n#3 \/path1\/lib\/private\/app.php(379): require('\/parth1...')\n#4 \/path1\/settings\/ajax\/navigationdetect.php(9): OC_App::getAppNavigationEntries('registration')\n#5 \/path1\/lib\/private\/route\/route.php(135) : runtime-created function(1): require_once('\/path1...')\n#6 [internal function]: __lambda_func(Array)\n#7 \/path1\/lib\/private\/route\/router.php(250): call_user_func('\x00lambda_1413', Array)\n#8 \/path1\/lib\/base.php(763): OC\Route\Router->match('\/settings\/ajax\/...')\n#9 \/path1\/index.php(36): OC::handleRequest()\n#10 {main}","File":"\/path1\/3rdparty\/symfony\/routing\/Symfony\/Component\/Routing\/Generator\/UrlGenerator.php","Line":134}","level":4,"time":"2015-10-14T18:46:21+00:00"}
{"reqId":"3f0c7d3ac9fbd8e0f651a9009911b2b3","remoteAddr":"111.111.111.111","app":"PHP","message":"Undefined index: errormsgs at /path1/apps/registration/templates/form.php#6","level":3,"time":"2015-10-14T18:47:44+00:00"}
{"reqId":"3f0c7d3ac9fbd8e0f651a9009911b2b3","remoteAddr":"111.111.111.111","app":"PHP","message":"Undefined index: entered_data at /path1/apps/registration/templates/form.php#24","level":3,"time":"2015-10-14T18:47:44+00:00"}
Use HTML instead of plain text in email so the user can just click the link.
Hi
Do you think that "registration app" will be updated for nextcloud 11 ?
Thank
I have 2 ways for creating account for people:
In the second case, there is an issue, I'd say 80% of people don't see the login button of xCloud, and click on registration.
Here is a screenshot:
https://cloud.pierre-o.fr/index.php/s/tQkgXCzA91nohMo
I'm not a UI expert, but would be nice if we could fix that.
Not sure if it is your plugin or xCloud problem.
Do you have any idea? If not, we could contact http://ura.design/
In the long term, I think I'll remove the register button from the index, and just wire the landing page to the registration form, but still think it could be a valuable feature for everybody.
Do you think it is feasible? It just reduces one step for the end user :)
When you give an email address already in registration process, you got a message saying that. It could be useful to have a button to resend the registration link, in case the first email didn't reach the user mailbox (accidently deleted, mail server down, such situations).
Hi Pellaeon,
Thank you for your app, it is very useful for me. And I would like to seek your help on how to set custom quota for newly registered users?
Looking forward your reply, thank you.
Manual installation is required cause of version mismatch between the one declared (0.1.3) in apps and the one in info.xml
...
version>0.1.2</version
..
Hi!
When I follow instruction here:
https://apps.owncloud.com/content/show.php/Registration?content=170608
When I enable the app in the admin panel, I get the following error:
No app name specified
fix: mv registration-0.0.4/ registration
Hi.
I like your app very much. Useful!
What about adding default quota definition for registering users DIFFERENT from the "official one".
Please, see the attached image.
The process so becomes:
Thank you for your job!
not after entering the emailadress... i would prefer to get informed when clicking on "register" or even better.. the button should not show up at all (maybe optional)
thx !
I have a group "Internal Users." I would like any member of that group to be able to share a folder (file) with any email address. If that email address is not already an account on the local OwnCloud server, or on a trusted federated Own Cloud Server, then OwnCloud server would then send an email to that email address saying "John Doe has offered to share a folder with you, please click this link to create an account." The new user would be added to a separate group, say "Invited Users." Users in that group do not have permission to share with new emails, only with accounts already on the server, or on a trusted federated server.
An automated email reminder that reminds you to login once in a while or it would delete those self registered users after a custom amount of time (5 months no login leads to a reminder (one week ahead) and a deletion)
Can please somebody put the steps on how to install the app... i did paste the app in owncloud/apps still no registration cameout
Hi guys,
I have installed your app in my owncloud, but I am getting this error when I try registering an user.
"The username is already being used"
I have verified and the user not exist in my database.
Thanks
After user enters email (maybe additionally full name), a new pending entry is created, waiting for admin's approval.
After approval, verification email is sent, then the user could create account by clicking the link.
Hey pellaeon,
Will this great app be updated to be compatible with OC 9.0 + ?
Kind regards
From time to time (not always) I get a nasty:
Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.
Technical details
Remote Address: 82.234.61.89
Request ID: YkEbzKjbJhKeYE/i1/QP
Here is the log from the server:
{"reqId":"YkEbzKjbJhKeYE\/i1\/QP","remoteAddr":"82.234.61.89","app":"index","message":"Exception: {\"Exception\":\"Symfony\\\\Component\\\\Routing\\\\Exception\\\\InvalidParameterException\",\"Message\":\"Parameter \\\"token\\\" for route \\\"registration.register.verifyToken\\\" must match \\\"[^\\\/]++\\\" (\\\"cjBSo5EENpCrMrsfIdIz5e3LUa\\\/YIq\\\" given) to generate a corresponding URL.\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/html\\\/3rdparty\\\/symfony\\\/routing\\\/Symfony\\\/Component\\\/Routing\\\/Generator\\\/UrlGenerator.php(140): Symfony\\\\Component\\\\Routing\\\\Generator\\\\UrlGenerator->doGenerate(Array, Array, Array, Array, Array, 'registration.re...', false, Array, Array)\\n#1 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/route\\\/router.php(306): Symfony\\\\Component\\\\Routing\\\\Generator\\\\UrlGenerator->generate('registration.re...', Array, false)\\n#2 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/route\\\/cachingrouter.php(53): OC\\\\Route\\\\Router->generate('registration.re...', Array, false)\\n#3 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/urlgenerator.php(65): OC\\\\Route\\\\CachingRouter->generate('registration.re...', Array)\\n#4 \\\/var\\\/www\\\/html\\\/apps\\\/registration\\\/controller\\\/registercontroller.php(101): OC\\\\URLGenerator->linkToRoute('registration.re...', Array)\\n#5 [internal function]: OCA\\\\Registration\\\\Controller\\\\RegisterController->validateEmail()\\n#6 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/appframework\\\/http\\\/dispatcher.php(159): call_user_func_array(Array, Array)\\n#7 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/appframework\\\/http\\\/dispatcher.php(89): OC\\\\AppFramework\\\\Http\\\\Dispatcher->executeController(Object(OCA\\\\Registration\\\\Controller\\\\RegisterController), 'validateEmail')\\n#8 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/appframework\\\/app.php(108): OC\\\\AppFramework\\\\Http\\\\Dispatcher->dispatch(Object(OCA\\\\Registration\\\\Controller\\\\RegisterController), 'validateEmail')\\n#9 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/appframework\\\/routing\\\/routeactionhandler.php(45): OC\\\\AppFramework\\\\App::main('RegisterControl...', 'validateEmail', Object(OC\\\\AppFramework\\\\DependencyInjection\\\\DIContainer), Array)\\n#10 [internal function]: OC\\\\AppFramework\\\\routing\\\\RouteActionHandler->__invoke(Array)\\n#11 \\\/var\\\/www\\\/html\\\/lib\\\/private\\\/route\\\/router.php(274): call_user_func(Object(OC\\\\AppFramework\\\\routing\\\\RouteActionHandler), Array)\\n#12 \\\/var\\\/www\\\/html\\\/lib\\\/base.php(867): OC\\\\Route\\\\Router->match('\\\/apps\\\/registrat...')\\n#13 \\\/var\\\/www\\\/html\\\/index.php(40): OC::handleRequest()\\n#14 {main}\",\"File\":\"\\\/var\\\/www\\\/html\\\/3rdparty\\\/symfony\\\/routing\\\/Symfony\\\/Component\\\/Routing\\\/Generator\\\/UrlGenerator.php\",\"Line\":167}","level":4,"time":"2015-08-15T14:43:55+00:00"}
Do you have an idea of where it could come from?
Please let me know if you need any more details to investigate.
You can try to reproduce on this installation:
https://framadrive.org/
Thanks a lot!
I don't have an html email client and I couldn't read the mail.
Would be cool to be able to read it from non html email client :)
Thanks!
@pellaeon
Thanks for your nice work! I and many other people do it easy to activate a app from the app store. It would be nice if you plugin into the nextcloud appstore ๐
You mentioned explicitly this is only compatible with MariaDB. Didn't you verify PgSQL
compatibility or did you ran in concrete problems, if so which? I would be happy to try
making this PgSQL compatible as all my services share a big Postgres cluster and I
don't fancy spinning up a MariaDB just for one service.
Hi, i have the next error whe new user wants signup:
A problem occurred sending email, please contact your administrator.
PHP 5.6
ownCloud 9.1.2 (stable)
Hello,
Where is the config for the registration button?
I'd like to move it to the center.
Regards,
Nestade
hi,
i cant install the plugin on updated nexcloud 11 on my raspy. It says that the reqiured dependency isn
t met:
Following databases are supported: sqlite, mysql
Im running myqsl-server version 5.5, so i don
t see a reason why it shouldn`t work.
Any idea?
Thx in advance
edit:
with version 0.2.2 it works. Only had to add following line:
, so installation won`t stop with message that version is too low.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.