AllianceAuth CharLink
Character Linker for Alliance Auth
AllianceAuth CharLink
A simple app for AllianceAuth that allows users to link each character to all the AllianceAuth apps with only 1 login action.
Overview
Basic usage
- Select which app you want to link your character to
- Login on CPP site
- Character linked to the selected apps
Auditing
Users with the appropriate permission (see permissions) can audit the linked characters of the users of their corporation, alliance or auth state. A link will appear on top of the main page of the app and will redirect to a page with a table of all the linked characters of the users of the selected corporation.
A user can be audited by clicking on the link on the Main Character
column.
App Audit: Users can now audit character based on the apps they have access to. Select the app you want to audit from the dropdown menu in the audit page.
Admin App status: users with is_superuser
can now see the list of imported apps and the ones with issues with the import.
Installation
- Install the app with
pip install aa-charlink
- Add
'charlink',
to yourINSTALLED_APPS
inlocal.py
- Run migrations and collectstatic
python manage.py migrate
python manage.py collectstatic
Current apps
I've opened an issue to track the apps that have a default integration in CharLink and the WIPs. If you want another app to be supported, please comment on the issue, reach me on the AllianceAuth discord server or ask the developer of the app to implement an integration via hook.
Hook integration
From version 1.1.0, CharLink supports hook integration. If you want to integrate your app with CharLink, you need to register a hook in the auth_hooks.py
file:
@hooks.register('charlink')
def register_charlink_hook():
return 'testauth.testapp.charlink_hook'
The hook has to return a string with the import path of the module containing the app integration. The module must contain a variable called app_import
which is an instance of charlink.app_imports.utils.AppImport
. You can find the documentation of the class in the utils.py
and some examples in the imports folder.
Settings
Name | Description | Default |
---|---|---|
CHARLINK_IGNORE_APPS |
List of apps to ignore. Use the name of the app as it is called in INSTALLED_APPS if you want to ignore all the entries for that app, or any of the options in the following section for ignoring a single entry |
[] |
Ignoring single entries
The following apps have more than 1 entry and you can ignore individual entries by adding the relative option below:
AllianceAuth Contacts
Alliance Contacts
:aa_contacts.alliance
Corporation Contacts
:aa_contacts.corporation
Corptools
Character Audit
:corptools.default
Corporation Audit
:corptools.structures
MiningTaxes
Mining Taxes
:miningtaxes.default
Mining Taxes Admin
:miningtaxes.admin
AFAT
AFAT Read Fleet
:afat.readfleet
AFAT Click Tracking
:afat.clickfat
Market Manager
Market Manager - Character Login
:marketmanager.character
Market Manager - Corporation Login
:marketmanager.corporation
Permissions
Name | Description |
---|---|
charlink.view_corp |
Can view linked character of members of their corporation. |
charlink.view_alliance |
Can view linked character of members of their alliance. |
charlink.view_state |
Can view linked character of members of their auth state. |
Login page url
If you want to setup a template override to link the "Add character" button to the login page of this package, set the a
element to:
<a href="{% url 'charlink:index' %}" class="btn btn-primary flex-fill m-1" title="{% translate 'Add Character' %}">
<span class="d-md-inline m-2">{% translate 'Add Character' %}</span>
</a>
Known issues
- For AFAT is not possible to check if the added character has a token which is still valid, it only checks if the character has ever added a token with the required scopes.
No reviews yet...
Python Requirements
- allianceauth~=4.1
- allianceauth-app-utils~=1.14
Required Python packages to be installed and other Python requirement.
App Dependencies
Required apps:
Used by apps:
-
Dependencies to other apps registered in this app directory.
Classifiers
- Development Status :: 5 - Production/Stable
- Environment :: Web Environment
- Framework :: Django
- Framework :: Django :: 4
- Framework :: Django :: 4.2
- Intended Audience :: Developers
- License :: OSI Approved :: GNU General Public License v3 (GPLv3)
- Natural Language :: English
- Operating System :: POSIX :: Linux
- Programming Language :: Python :: 3
- Programming Language :: Python :: 3.10
- Programming Language :: Python :: 3.11
- Programming Language :: Python :: 3.12
- Programming Language :: Python :: 3.9
- Topic :: Internet :: WWW/HTTP
- Topic :: Internet :: WWW/HTTP :: Dynamic Content
Version
1.8.0
License
GPLv3
Homepage
https://github.com/Maestro-Zacht/aa-charlink
PyPI
https://pypi.org/project/aa-charlink/
Last updated
3 weeks, 1 day ago
First published
1 year, 9 months ago
Category
Plugin Apps
Rating
-Authors
Matteo Ghia
Maintainers
Maestro Zacht
Please login to see more options.