This fork of Isso adds possibility to login using OpenID, Facebook, or Google. The user's name and profile picture is then fetched and used for the comment for a more personal feel, and those comments are authenticated so that the author can prove that he/she wrote the comment.
Brief setup instructions for the additional features of this fork follows below. For all other questions, see the web site of the mainline Isso project.
To enable OpenID support, just enable it in the configuration file:
[openid]
enabled = true
Users authenticate by clicking the OpenID button and typing in their OpenID identifier. To do so the user must have an OpenID provider that supports OpenID Connect 1.0 (earlier versions OpenID 1.0 and OpenID 2.0 are not supported).
To enable Facebook login, you must first create a Facebook App by
visiting Facebook for Developers
and choosing My Apps->Add a New App
. On the Product Setup
screen,
add Facebook Login
. Make sure Client OAuth Login
and Web OAuth Login
are enabled and fill in your site's URL under Valid OAuth redirect URIs
. Next, go to your app's general settings
(Settings->Basic
) and fill in your site's URL also under Site URL
(you may have to add Web
as a platform first). Then take note of the
App ID
and App Secret
that Facebook has generated for your app,
and add the following settings to your Isso configuration file:
[facebook]
enabled = true
app-id = <Your App ID>
app-secret = <Your App Secret>
To enable Google login, you must first create a Google App by visiting
the Google API Console and
choosing Create Project
. Under Credentials
, choose Create Credentials->OAuth client ID
, and then choose Web application
. Then
take note of the Client ID
that Google has generated for you, and
add the following settings to your Isso configuration file:
[google]
enabled = true
client-id = <Your Client ID>
If you want to require users to authenticate in order to post
comments, disable the allow-unauthorized
setting in the general
section. You must obviously also enable at least one authentication
method.
[general]
allow-unauthorized = false
It may be desirable to show that some users have a special role on the site, such as moderators. Such roles are defined in the Isso configuration file like this:
[roles]
web-master = Web master, google:107686722757000000000
moderator = Moderator, facebook:10208666300000000 openid:acct:[email protected]
The name of each "setting" in the role section can be chosen arbitrarily. The first line in the example ensures that all comments made by the person who authenticates with Google and has Google ID 107686722757000000000 gets a label saying "Web master" next to them. Two users are then defined as Moderators. The label uses the name of the setting ("web-master" in the first example) as its CSS class in case you want to control the appearance of each of them.
In order to centralize all configuration, the client-side configuration has been moved to the server-side configuration file. The following table maps the client-side settings in upstream Isso to their new location in the configuration file in this fork:
Old setting name | New setting section | New setting name |
---|---|---|
data-isso-css | gui | css |
data-isso-max-comments-top | gui | max-comments-top |
data-isso-max-comments-nested | gui | max-comments-nested |
data-isso-reveal-on-click | gui | reveal-on-click |
data-isso-lang | gui | lang |
data-isso-reply-to-self | guard | reply-to-self |
data-isso-require-email | guard | require-email |
data-isso-avatar | avatar | enabled |
data-isso-avatar-bg | avatar | background |
data-isso-avatar-fg | avatar | foreground |
data-isso-vote | vote | enabled |
data-isso-vote-levels | vote | levels |
The syntax of some settings have changed slightly, see the comments in the bundled configuration file for details.