Skip to content
Pidgin/libpurple plugin for Amazon Chime
C Makefile Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.copr Fix COPR build May 4, 2018
.github Adding a PR template Apr 28, 2018
certs Trust Amazon certificates May 4, 2018
chime Fix potential memory leak in screen_send_packet() Nov 22, 2019
chimeseen Autoload seen plugin Apr 27, 2018
debian Stop i386 builds failing Nov 18, 2019
evolution-plugin Update ecal-2.0 port for further upstream API changes May 7, 2019
fs-app-transmitter Add missing libraries to underlinked targes #23 May 14, 2018
gst-chime Explicitly require gstreamer-video-1.0 and split deps Apr 29, 2018
gst-xcbimagesrc xcbimagesrc: disconnect xcb when clearing the context Nov 28, 2019
pixmaps Remove 24x24 and 32x32 pixmaps which Pidgin doesn't use May 4, 2018
po Actually enable translations Jun 22, 2017
protobuf Update protobuf files Apr 5, 2018
prpl Fix for attachment ignore problem Dec 10, 2019
.gitignore Ignore more generated files Apr 13, 2018
CODE_OF_CONDUCT.md Adding standard files Apr 28, 2018
CONTRIBUTING.md Adding standard files Apr 28, 2018
LICENSE Move COPYING.LGPL into standard LICENSE location for Amazon projects Apr 28, 2018
Makefile.am Add xcbimagesrc for Nacho to port to XCB Nov 25, 2019
README.md Translate the README file to README.md Sep 24, 2018
TODO Update TODO Mar 13, 2018
acinclude.m4 enable warnings Jun 22, 2017
autogen.sh Clean up spec generation. May 4, 2018
chime-get-token.c Remove PurpleConnection from ChimeConnection. May 1, 2018
configure.ac Add xcbimagesrc for Nacho to port to XCB Nov 25, 2019
mkspec.sh
pidgin-chime.spec.in Add gst-xcbimagesrc to specfile Nov 25, 2019

README.md

Pidgin plugin for Amazon Chime

Support

This plugin is not supported by the Amazon Chime team. Do not contact them for any assistance with this client.

Installation

sudo dnf install 'pkgconfig(purple)' 'pkgconfig(libsoup-2.4)' 'pkgconfig(json-glib-1.0)'
./configure
make
sudo make install

Given the rate of development, you may find it easier to make a symbolic link from the installed plugin (e.g. /usr/lib64/purple-2/libchimeprpl.so) to .libs/libchimeprpl.so in your working tree.

Authentication

This plugin is capable of obtaining the session token by emulating a web browser and following the sign in process. Currently, it is possible to log in with your corporate credentials (Active Directory) as well as with your Amazon credentials.

During this process, user input may be required (user and password, or just password). Make sure you are using a libpurple application that properly implements interactive user input.

Passwords will not be stored anywhere. Passwords are only necessary to obtain a session token, and new session tokens are obtained with the previous one. If the token gets lost or corrupted, the sign in process will be triggered again to obtain a new token.

In case all this stops working, the session token can be obtained with a web browser; but first report this situation. Start from this link and complete the authentication process until you end up at a URI that the browser cannot handle, which looks something like

chime://sso_sessions?Token=eyJyZ…

The part after Token= is your authentication token. Create an account in Pidgin, select Amazon Chime as the protocol in the Basic tab then go to the Advanced tab and paste the token in the Token field. Leave the Signin URL field empty.

Debugging

Run from a terminal with the CHIME_DEBUG environment variable set to a non-empty string.

This repository also includes a command specifically intended to ease debugging the sign in web scrapping code. It's not compiled by default. In order to build it and run it, use the following commands:

make chime-get-token
CHIME_DEBUG=2 ./chime-get-token my-login-address@example.com

This will dump all the HTTP request performed during the authentication and token retrieval. If possible, attach its output when reporting an authentication issue.

You can’t perform that action at this time.