Skip to content

huangli201/isso

 
 

Repository files navigation

Isso – a commenting server similar to Disqus

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.

OpenID

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).

Facebook

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>

Google

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>

Requiring authentication

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

Roles

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.

Client-side configuration

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.

Packages

No packages published

Languages

  • Python 58.1%
  • JavaScript 34.9%
  • CSS 3.4%
  • HTML 2.2%
  • Other 1.4%