InterTiki | |
Related Topics
needs review made major changes to descriptive text, added section for explaining InterTiki fields in detail and mentioned dependency on Log-In authentication type on clients |
Introduction | |
The InterTiki feature allows Tikis to communicate user data with each other. It's based on xmlrpc protocol. It can be extended to several applications if those applications can communicate via XMLRPC. It was introduced to allow cross site authentication in all the tiki.org subdomains. In Tiki 15 there is a simpler feature called Remote Tiki Autologin that might provide a less powerful but perhaps easier way from users from one Tiki to login to another |
Assumptions: | |
|
Key Function and sub-features | |
InterTiki's primary design is meant to achieve master-slave authentication relationships between multiple Tiki sites. It's designed to allow several satellite sites authenticate against one central source for user data. Additionally InterTiki can be used to transfer user profiles from the primary user source and their corresponding groups. Both of these choices are configurable and allow for a wide range of authentication and user data share paradigms. InterTiki can be extended for several other purposes with additional custom development utilizing XMLRPC's ability to query just about any asset of user data in a tiki. |
Configuration example | |
In order to enable InterTiki for proper configuration, four key steps are required:
|
Explanation of fields | |
Server SetupOn the machine you will configure to be the primary authentication server (a Master that other Tiki's will request user data from) these are the fields that matter on the InterTiki feature page:
The table after allows you to define multiple clients. Only clients on this list will be allowed to make requests against the server. This is useful, and necessary, security feature:
Client SetupIMPORTANT: On your client machine (machine that will request auth from the master server) you MUST have set the Authentication Type to "Web Server" on the Log In admin control page or InterTiki will not work. It is useful to start by first entering the InterTiki Server fields first. The InterTiki Server fields are for defining for every master server you want to have access to from this client
Click SAVE and then proceed to the upper-half of the InterTiki Client setup screen
|
Pictoral Examples | |
You can see below an example of two Tiki clients (doc.tiki.org, edu.tiki.org]) configuration using InterTiki against tiki.org as a master server. |
InterTiki client 1: doc.tiki.org | |
![]() |
InterTiki client 2: edu.tiki.org | |
![]() |
InterTiki Server: tiki.org | |
![]() |
Hosting example | ||||||||||||||||||||||||
Please find below an example of successful setup at a hosting environment (siteground) gezzaz notes:
|
InterTiki internal details | |
Get version : intertiki:get_version | |
Used for debugging at this time. Future plans include the ability to limit requests based on a minimally defined Tiki version. |
Remote login : intertiki.validate | |
This enables the ability to use a tiki account created on one tiki, at another tiki. One tiki is server, the other is client (client will authenticate against the server). The server has to identify a url where the xmlrpc requests can be reached. The client uses that url to reach server and send xmlrpc requests. (Typically this is: http://yourtiki/remote.php, as the XMLRPC server handler code is located in the remote.php file in your tiki root directory). The idea is to avoid creating a local account such remote logins. At this time, a local account is automatically created on the client Tiki when a client succesfully authenticates against an InterTiki master server if that account does not already exist. InterTiki clients support the use of the @ as a delimiter for specifying the 'realm' the login belongs to when a user is logging in. This feature is primarily useful if a client Tiki can authenticate against more than one master tiki allowing for complex InterTiki relationships between Tiki sites. Some changes are made here and there to avoid a new client login containing a @ access certain features (like preferences and such). Upon successful login from a remote intertiki server, the client will log the user into the local client Tiki. If the options are chosen it will also transfer the users preferences and group security settings from the master Interiki server. Each validation request also sends a hash key that sort of identifies the client server. Eventually the use of that key will be optional. However a good security practice will be to keep it in place, especially if your Tiki is publicly available on the web. |
Future enhancements | |
In the login box a new menu is proposed with that when enabled via login features will list the possible master auth locations, either local or remote. The user could also type login@remote directly it will be processed correctly. |
Trouble shooting | |
|
Changed client host | |
When moving a client instance to another host, the client login will not work properly and the access to admin will be not possible. In this situation, just update the new client IP on Tiki master (The address should be something like this: https://example.com/tiki-admin.php?page=intertiki#contentadmin_interwiki-2). |
Changed client key and host | |
When hosting several Tiki instances on one host is common to use a single client key for all instances (not recommended). So, when you need to move a single Tiki instance to another host, it is not possible just update IP for that instance, because it will break all other instances using the same key and old IP. In this situation, admin is unaccessible and is not possible login on client to fix it. A new key is needed for this Tiki instance and the follow step may solve this situation: 1. Open a MySQL client 2. Select the Tiki database Copy to clipboard
3. Create another key for your client Copy to clipboard
4. Check and copy your new key Copy to clipboard
A box like below will appear as result of previous command. Copy the value field from it.Copy to clipboard
5. Open browser at keys config page on your Tiki master (Something like https://example.com/tiki-admin.php?page=intertiki#contentadmin_interwiki-2) 6. Scroll down until you see field to a new entry 7. Fulfill it with a meaningful name, paste new key and the new host IP and click on Apply 8. Delete Tiki client cache on new host ( Copy to clipboard
9. Now you should be able to login in Tiki client Related Links
alias
|