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

Support different authentication methods #1

Closed
wants to merge 6 commits into from

Conversation

nsoranzo
Copy link
Member

This is a revised version of BitBucket PR #555.

Initial modules:

  • ActiveDirectory (LDAP)
  • LocalDB (fall back to Galaxy user database)
  • AlwaysReject (blacklist)

Sysadmin documentation at: https://docs.google.com/document/d/1CJp_m3vW7QKtAyBTMbE1MLgV6FAMuG3VO4HR-wHPkGk

Problems:

  • still needs a yapsy egg (@jmchilton volunteered to port the code to the Galaxy plugin system)

Tested and approved by original author @andrewjrobinson .

andrewjrobinson and others added 6 commits February 23, 2015 16:38
Initial modules:
- ActiveDirectory (ldap)
- LocalDB (fall back to galaxy users)
- AlwaysAccept (whitelist)
- AlwaysReject (blacklist)
Sysadmin documentation at: https://docs.google.com/document/d/1CJp_m3vW7QKtAyBTMbE1MLgV6FAMuG3VO4HR-wHPkGk
Testing documentation at: https://docs.google.com/document/d/1Cocx6Rt3eqPdm8IjOKYAR4RaY-9P2iFNXCt3AYg3PlA
Added a config/customauth_conf.xml.sample file containing only the normal
Galaxy database authentication method.
Removed enable_customauth config option.
@natefoo
Copy link
Member

natefoo commented Feb 23, 2015

A bit more previous discussion on this PR can be found at galaxyproject/galaxy-beta1#4

@jmchilton
Copy link
Member

Here is how I would rip out yapsy -

  • Make AuthProvider and abstract interface instead (methods seem right though). https://github.com/galaxyproject/galaxy/blob/d1cd4ab4d28c72f365852b75e2f2026c6b76ebbd/lib/galaxy/workflow/schedulers/__init__.py
  • Delete all -yapsy files and just give auth implementation classes a short identifier as a class attribute (e.g. plugin_type).
  • End implementation files with __all__ = [ ImplementationClassName ]. This is kind of messy, not the way __all__ should be used - feel free to fix.
    __all__ = [ CoreWorkflowSchedulingPlugin ]
  • Refactor galaxy/auth/__init__.py to basically produce some authentication manager object or something that could be stuck onto Galaxy app. (May be optional - the module-centric stuff instead of object-centric stuff is interesting and we could argue about - but Galaxy mostly configures stuff into objects attached to app for better or worse).
  • Add helper to load plugins to the auth manager
from galaxy.util import plugin_config
   def __plugins_dict( self ):
         return plugin_config.plugins_dict( galaxy.auth.providers, 'plugin_type' )

(E.g. https://github.com/galaxyproject/galaxy/blob/d1cd4ab4d28c72f365852b75e2f2026c6b76ebbd/lib/galaxy/workflow/scheduling_manager.py
or
https://github.com/galaxyproject/galaxy/blob/d1cd4ab4d28c72f365852b75e2f2026c6b76ebbd/lib/galaxy/tools/deps/__init__.py)

  • Eliminate Yapsy plugin manager - but above dict should be pretty equivalent to getPluginByName.

@nsoranzo
Copy link
Member Author

@jmchilton This WIP commit nsoranzo@b55edfe should address your first 3 points.

@dannon
Copy link
Member

dannon commented Feb 26, 2015

This is an automated message. Thanks for your contribution, a Trello card to track this issue has been created. Apply this patch for testing.

@jmchilton
Copy link
Member

Picked up where @nsoranzo left off and merged directly - let me know if I broke anything. I made a lot of cosmetic changes to the code to make it mesh with Galaxy standards but the end-user usage should remain largely unchanged - no difference for deployers and plugin developers need to stick a plugin_type class attribute on their plugins instead of writing out a yapsy configuration file.

Many thanks to @nsoranzo and @andrewjrobinson and the people who reviewed the pull request in its various forms!

@jmchilton jmchilton closed this Mar 2, 2015
@martenson
Copy link
Member

Thank you @jmchilton for driving this and @nsoranzo for the contributions. 👍 👍

@andrewjrobinson
Copy link
Contributor

Thanks @nsoranzo and @jmchilton for your help here and others for your reviews.

I have tested the changes against the tests I used during development and found one bug with the auto-registration. I have fixed this issue and retested. The fix is currently sitting in my fork of this repo (https://github.com/andrewjrobinson/galaxy dev branch). Should I submit another pull request or do something else to get it merged?

@nsoranzo
Copy link
Member Author

nsoranzo commented Mar 2, 2015

Thanks @jmchilton for finishing and polishing it! I posted a comment on commit 9fd6685 for you.

@andrewjrobinson I think a PR would be ideal!

@dannon
Copy link
Member

dannon commented Mar 2, 2015

@andrewjrobinson Yep, sending another PR is the best way to incorporate a bugfix.

@jmchilton
Copy link
Member

Some possible follow up tasks here - https://trello.com/c/sxz9SM2R if anyone is bored.

guerler added a commit that referenced this pull request Apr 10, 2015
jmchilton pushed a commit that referenced this pull request May 2, 2015
hexylena referenced this pull request in hexylena/galaxy May 6, 2015
jmchilton pushed a commit that referenced this pull request May 7, 2015
Fix import problem with msa.py.
dannon pushed a commit that referenced this pull request May 11, 2015
jmchilton pushed a commit that referenced this pull request Jun 4, 2015
blankenberg pushed a commit that referenced this pull request Jun 5, 2015
Merge latest dev, resolve conflicts.
blankenberg added a commit that referenced this pull request Jun 16, 2015
add titles to explan TS mercurial browser links
jmchilton pushed a commit that referenced this pull request Jun 16, 2015
Simplify strict_min strict_max logic.
jmchilton pushed a commit that referenced this pull request Jun 24, 2015
jgoecks added a commit that referenced this pull request Jul 24, 2015
martenson referenced this pull request in martenson/galaxy Aug 3, 2015
Refactor reports styling out into its own less file.
nsoranzo added a commit that referenced this pull request Aug 20, 2015
dannon pushed a commit that referenced this pull request Aug 11, 2016
Convert to RST, fix image references.
jmchilton pushed a commit that referenced this pull request Oct 17, 2016
Enhance the Merge Collections Tool
jmchilton pushed a commit that referenced this pull request Jan 12, 2017
Add fastq(*).bz2 datatypes and converters
@natefoo natefoo mentioned this pull request Apr 4, 2017
martenson pushed a commit that referenced this pull request Jun 27, 2017
jmchilton pushed a commit that referenced this pull request Jul 12, 2017
martenson pushed a commit that referenced this pull request Aug 9, 2017
Swap two more spots initializing TagManagers to new session
dannon pushed a commit that referenced this pull request Oct 26, 2017
dannon pushed a commit that referenced this pull request Nov 15, 2017
Small javascript fixes for askomics IE integration
dannon pushed a commit that referenced this pull request Dec 22, 2017
martenson pushed a commit that referenced this pull request Mar 27, 2018
Update from Galaxyproject repo
dannon pushed a commit that referenced this pull request Jun 11, 2018
Need to set default HOME/TMP before env_setup_commands
dannon pushed a commit that referenced this pull request Jul 18, 2018
Test dumping multiple="false" data_column param as json
martenson pushed a commit that referenced this pull request Mar 7, 2019
Add tool test for metadata_in_range
almahmoud referenced this pull request in almahmoud/galaxy Oct 10, 2019
mvdbeek pushed a commit that referenced this pull request Apr 22, 2020
Move object store test upload test cases to test/integration/objectstore
mvdbeek pushed a commit that referenced this pull request Sep 25, 2020
Make sure cached images are properly sorted by build build_number and…
nsoranzo pushed a commit that referenced this pull request Dec 21, 2020
jmchilton pushed a commit that referenced this pull request Jan 12, 2021
mvdbeek pushed a commit that referenced this pull request Sep 16, 2021
mvdbeek pushed a commit that referenced this pull request Mar 13, 2024
* Rename `delta` to `eps` for float-based assertions

* Fix tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants