GithubHelp home page GithubHelp logo

allianceauth / allianceauth Goto Github PK

View Code? Open in Web Editor NEW
139.0 57.0 93.0 7.23 MB

An auth system for EVE Online to help in-game organizations manage online service access.

License: GNU General Public License v2.0

Python 80.14% CSS 0.38% JavaScript 0.05% HTML 19.42%
django-project python-3 teamspeak mumble openfire phpbb3 smf discord discourse-sso eve-online

allianceauth's Introduction

We've Moved to GitLab

Alliance Auth

Join the chat at https://gitter.im/R4stl1n/allianceauth Documentation Status Build Status Coverage Status

An auth system for EVE Online to help in-game organizations manage online service access.

Read the docs here.

Get help on gitter or submit an Issue.

Active Developers:

Beta Testers / Bug Fixers:

Special thanks to Nikdoof, as his auth was the foundation for the original work on this project.

Contributing

Make sure you have signed the License Agreement by logging in at https://developers.eveonline.com before submitting any pull requests.

allianceauth's People

Contributors

adarnof avatar basraah avatar betriebsrat avatar colcrunch avatar geabo avatar ghoti avatar gitter-badger avatar iaddz avatar insuusvenerati avatar ixof avatar joeeigel avatar johanko avatar kaezon avatar kormat avatar luminarium avatar meletisf avatar mmolitor87 avatar moriartyj avatar nathmorgan avatar nfinished avatar orbitroom avatar ppfeufer avatar r4stl1n avatar randomic avatar richtersr avatar soratidus999 avatar tehfiend avatar trentbartlem avatar tyler274 avatar ydmir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

allianceauth's Issues

Feature Request: (API) Security Page

Right now, the only way that I am aware API information can be viewed outside of the admin panel is under the Corp Stats page.
It seems that this information would be better separated into its own page where corp-level security would still just see their own corp's APIs, but alliance-level security could see all the APIs.
I imagine a set of tabs should be able to separate the different corps' APIs efficiently.
In addition, the page could allow for additional information to be displayed. For instance, a basic PASS/FAIL for APIs to make it immediately apparent if an API is no longer valid without the need to load the jackknife for each individual.

refactor allianceauth/settings.py

  1. Move stuff around so similar settings are grouped together and stuff most likely to need changing is at the end (e.g. email stuff should be below installed_apps, all the Eve stuff should be together, etc).
  2. explain what SECRET_KEY is
  3. move the whole thing to settings.py.example so users have to manually set it up.
  4. add settings.py to .gitignore
  5. Make the server halt if settings.py does not exist

Add support for corporation only auth

Add the ability for the auth system to be centered around a corporation as opposed to an alliance.

Also include the ability to grant permissions to people in alliance to allow them to join and auth.

SRP rights

with all the rights for srp added people in a group cannot add new srp fleets. . . only can if your logged in as root?

Error running pip on requirements.txt

Not sure how critical this is, but I got this error upon completion of the command pip install -r requirements.txt

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_ubuntu/evelink/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-em5P3g-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_ubuntu/evelink
Storing debug log for failure in /home/ubuntu/.pip/pip.log

Pastebin link with full output: http://pastebin.com/LW3D7LxD

This was performed on a fresh install of Ubuntu Server 14.04 LTS, following the Full Production Setup guide.

iskfiend

FYI the updates that were pushed out have links to all your pages including some of the scripts aka debug.sh has your ip in it as well

Logging system

I think admins could use a front-end logging page which would leverage a generic logging model.
Perhaps a raw log viewer is in order as well.

TS3 Bug

I have two corps with a space in there tickers. the Auth refuses to pull the cldbid in team speak for them and also refuses to create the groups for them as well. Some users I can get it to create them by adding or removing them from a group but those two corps it refuses to create at all. ive tried deleting the syncgroups to no aval the sync groups are there for the groups but its not sending them to the ts3 server

How to change to Teamspeak ?

I've setup the auth system sucessfully - however I'm struggling to understand how to get Teamspeak option on the "Available services" page, I've currently got Forums, Jabber and Mumble listed.

I've tried changing

ENABLE_ALLIANCE_TEAMSPEAK3 = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_TEAMSPEAK3', 'True')

But not having any luck - any pointers please ?

manage.py error while running ally and corp update

Getting an Error while running:

 python manage.py shell < run_alliance_corp_update.py
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/celery/app/task.py", line 420, in __call__
    return self.run(*args, **kwargs)
  File "/srv/allianceserver/allianceauth/celerytask/tasks.py", line 278, in run_alliance_corp_update
    all_alliance_api_info = EveApiManager.get_alliance_information(all_alliance_info.alliance_id)
  File "/srv/allianceserver/allianceauth/services/managers/eve_api_manager.py", line 45, in get_alliance_information
    results = alliance[0][int(alliance_id)]
KeyError: 1872018214

Anyone knows how to fix this issue?
May this also be the reason why auth groups aren't synced with phpBB?

Add SRP summary to end user dashboard

It would be awesome for end users to be able to see their last 5 or 10 or how ever many SRP requests on their dash board, The fleet name, the kill link, the value assigned by the mod, any moderator comments and the status

Include corp ticker in service usernames

When looking on the Corpspecific group names it comes into mind, that for some Services, exactly Mumble and TS, the Ticker as name would be more usefull As Corp_XYZ.

So pls add a option to change the naming in settings.py or so.

Slack integration

Slack is really good for those who don't even want the hassle of setting up a jabber server. It would be good to have an auth plugin for it.

TS3 no group sync

Only the group set with the permkey gets assigned, the oder ones are created but never get assigned.

TS3 error handling

TS3 doesn't handle errors very well. Need to make sure we grab them and report them without exploding.

Add ability to hide groups in auth!

So I would love if possible a feature in group management on the back end to make a group hidden to alliance members, or only visible to alliance members with certain permissions, for example

There might be a group called ts_leadership, I only want this visible to people with the CEO group or even not visible to anyone at all and only able to be given to people via the back end!

Updates to groups in auth

So I would love if possible a feature in group management on the back end to make a group hidden to alliance members, or only visible to alliance members with certain permissions, for example

There might be a group called ts_leadership, I only want this visible to people with the CEO group or even not visible to anyone at all and only able to be given to people via the back end!

stumpped

recently moved our server dns to cloudflare and set up a bypass dns entery to not go through clouldflare however when it comes to jabber the first time you click the activate button it will give you a http error stating its unable to connect however if your go back and do it again it will work. . . any ideas?

Allow use of non full api?

Some people have reservations about providing a full api, perhaps require a full for HR/recruitment but allow a basic private character info and etc api for normal use cases?

Security Issue: Changing Access Mask

Hy folks!

Some of our members are so intelligent to change their api from full access to char info only after registering. How is it possible to check the Mask during Update und temporary lock all services for that char as long as api is not full access?

Yours Haymo

Jabber activation errors and does not show user details but creates the account

Environment:

Request Method: GET
Request URL: http://www.somethingfishy.space:8000/activate_jabber/

Django Version: 1.6.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django_evolution',
'djcelery',
'celerytask',
'bootstrapform',
'authentication',
'portal',
'registration',
'services',
'eveonline',
'groupmanagement',
'hrapplications',
'timerboard',
'srp')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')

Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response

  1.                 response = wrapped_callback(request, _callback_args, *_callback_kwargs)
    
    File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
  2.             return view_func(request, _args, *_kwargs)
    
    File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
  3.             return view_func(request, _args, *_kwargs)
    
    File "/home/allianceserver/allianceauth/services/views.py" in activate_jabber
  4. info = OpenfireManager.add_user(character.character_name)
    
    File "/home/allianceserver/allianceauth/services/managers/openfire_manager.py" in add_user
  5.         api.add_user(sanatized_username, password)
    
    File "/usr/local/lib/python2.7/dist-packages/openfire/user_service.py" in add_user
  6.         'groups': groups_str,
    
    File "/usr/local/lib/python2.7/dist-packages/openfire/base.py" in _submit_request
  7.         raise HTTPException(e.reason)
    

Exception Type: HTTPException at /activate_jabber/
Exception Value: [Errno 111] Connection refused

Celery: Stop using pickles

Looks like we're getting a warning from Celery indicating that using pickles can expose users to arbitrary code execution by a malicious user.
We should switch to JSON.

No Access via SSL

Forbidden

You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.2.22 (Debian) Server at sub.domain.me Port 443

I'm using debian wheezy, Apache, MySQL, all at newest available destributions.
Tried setting up with apache config in your full install guide, and with editing of my system specific i-MSCP config.

Anyone with the same issue?

Make manager functions consistent

The managers generally all support the same actions but their functions are all named differently. Please make them consistent.

Manager add addBlue delete disable enable exists update_user_groups remove_from_group update_password
teamspeak add_user add_blue_user delete_user check_user_exists update_groups
phpbb add_user delete_user disable_user check_user update_groups remove_group update_user_password
openfire add_user delete_user lock_user unlock_user update_user_groups delete_user_groups update_user_pass
mumble create_user create_blue_user delete_user check_user_exist update_groups update_user_password
ipboard add_user delete_user disable_user add_user_to_group remove_user_from_group update_user_password

User's Auth Services Info wipes when activating TS3

One of my users' was being kicked from TS3 every time he used his permissions key.
Upon inspection of his Auther Services Info, I saw that all of his auth data was empty.
I had him activate Forums as a control experiment. That worked normally, but as soon as he activated TS3, I noticed that all of the fields were empty once again.
I deleted his auth account and had him recreate it. This seems to have corrected the problem, but I'm still not sure what was causing the service data to wipe.
He informed me that he had been running noscript originally, but had exempted the site once he started having trouble. Not sure if this might have been a factor or not.

Syncgroup cache bug

if a user has a "`" in front of there name it will not allow you to delete the sync cache

Jabber not syncing groups

Last time now... I promise,

I cant get jabber to sync groups with auth, the users are now created on jabber and are automatically added to the alliancemembers group when they sign up to auth but they are not added to the alliancemembers group on jabber

Closing the shell after running ./startup.sh results in jabber broadcast error upon attempted broadcast

Traceback generated is pasted below

Environment:

Request Method: POST
Request URL: http://site.com/serivces/jabber_broadcast/

Django Version: 1.6.1
Python Version: 2.7.3
Installed Applications:
('suit',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_evolution',
'djcelery',
'celerytask',
'bootstrapform',
'authentication',
'portal',
'registration',
'services',
'eveonline',
'groupmanagement',
'hrapplications')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')

Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response

response = wrapped_callback(request, _callback_args, *_callback_kwargs) File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
return view_func(request, _args, *_kwargs) File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
return view_func(request, _args, *_kwargs) File "/home/auth/allianceauth/services/views.py" in jabber_broadcast_view
JabberManager.send_broadcast_message(form.cleaned_data['group'], form.cleaned_data['message']) File "/home/auth/allianceauth/services/managers/jabber_manager.py" in send_broadcast_message
client = xmpp.Client(settings.JABBER_URL) File "/usr/local/lib/python2.7/dist-packages/xmpp/client.py" in init
self.DEBUG=Debug.Debug(debug) File "/usr/local/lib/python2.7/dist-packages/xmpp/debug.py" in _init
self.active_set( active_flags ) File "/usr/local/lib/python2.7/dist-packages/xmpp/debug.py" in active_set
sys.stderr.write('Invalid debugflag given: %s\n' % t )
Exception Type: IOError at /serivces/jabber_broadcast/
Exception Value: [Errno 5] Input/output error

GET not loading static data

Hey man,

Whenever I install it It seems to not be able to load any of the static items to the CSS, JS and images all dont load even though I have checked and im sure it has all the apropriate systemk permissions to access it and the path looks correct. I have pasted the output bellow. Any ideas?

allianceadmin@fishyauth:~/allianceauth$ python manage.py runserver 0.0.0.0:8000 Validating > > > > models...
0 errors found
May 07, 2015 - 12:56:21
Django version 1.6.1, using settings 'alliance_auth.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[07/May/2015 12:56:25] "GET / HTTP/1.1" 200 1359
[07/May/2015 12:56:25] "GET /static/img/index_images/killboard.png HTTP/1.1" 404 111
[07/May/2015 12:56:25] "GET /static/img/index_images/index_bg.jpg HTTP/1.1" 404 110
[07/May/2015 12:56:25] "GET /static/img/index_images/media.png HTTP/1.1" 404 107
[07/May/2015 12:56:25] "GET /static/img/index_images/auth.png HTTP/1.1" 404 106
[07/May/2015 12:56:25] "GET /static/img/index_images/forums.png HTTP/1.1" 404 108

run_corp_update fails for corps without an alliance

line 431, in run_corp_update
    if (settings.IS_CORP and all_corp_info.corporation_id != settings.CORP_ID) or (not settings.IS_CORP and all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID):
AttributeError: 'NoneType' object has no attribute 'alliance_id'

It's trying to comparing the ID of the corp's alliance which does not exist. This logic needs reworking.

check srp database sync

missing table 1146, "Table 'alliance_auth.srp_srpfleetmain' doesn't exist")

I broke it again ๐Ÿ‘ฏ

[Solved] 403 Forbidden via WSGI.py

I've been following this to the letter, and alternated between Apache 2.2 and Apache 2.4 configuration methods of Order, Allow from ... and Require all granted.

I'm curious if anyone has ran into this issue, or if I'm missing something?

Here's my error (removed IP address, obviously):
[Thu Mar 12 16:35:05.151760 2015] [authz_core:error] [pid 22772] [client IP_ADDRESS:5602] AH01630: client denied by server configuration: /home/allianceserver/allianceauth/alliance_auth/wsgi.py

I've even restarted and re-installed my OS on my VPS at least twice to ensure that everything is fine. I'm running Ubuntu 64-bit version 14.04 at the moment.

Here's some extra information, as well:
Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.6 OpenSSL/1.0.1f mod_wsgi/3.4 Python/2.7.6

Error if main character is out of alliance and goes to hr application page

Environment:

Request Method: GET
Request URL: https://website.com/hr_application_management/

Django Version: 1.6.1
Python Version: 2.7.3
Installed Applications:
('suit',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django_evolution',
'djcelery',
'djsupervisor',
'celerytask',
'bootstrapform',
'authentication',
'portal',
'registration',
'services',
'eveonline',
'groupmanagement',
'hrapplications',
'timerboard',
'srp',
'gunicorn',
'bosh')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')

Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response

  1.                 response = wrapped_callback(request, _callback_args, *_callback_kwargs)
    
    File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
  2.             return view_func(request, _args, *_kwargs)
    
    File "/home/bovril/allianceauth/hrapplications/views.py" in hr_application_management_view
  3.       corp = EveCorporationInfo.objects.get(corporation_id=main_char.corporation_id)
    
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py" in get
  4.     return self.get_queryset().get(_args, *_kwargs)
    
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" in get
  5.             self.model._meta.object_name)
    

Exception Type: DoesNotExist at /hr_application_management/
Exception Value: EveCorporationInfo matching query does not exist.

Feature Idea: Multi Level Groups

It would be awsome to structure the group requests so people who can manage groups can only see groups that I would consider to be below them. For example someone in the CEO group can add some one to director but someone in director can't add someone to CEO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.