GitXplorerGitXplorer
l

hashblue.app

public
3 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
a320f4f17765c9e0887f05c90197fae741ab73fa

If we install gems with `GEM_HOME=gems macgem install <gem>`, then we don't need to do any magical `$LOAD_PATH` dance.

llazyatom committed 14 years ago
Unverified
71fb4df6a746bc78546fc12925c0e67758808d03

Use a vendorisable version of JSON.

llazyatom committed 14 years ago
Unverified
2137aaa34b560e1a342921c9216de238668cfd93

Use production hashblue and SSL.

cchrisroos-and-lazyatom committed 14 years ago
Unverified
671d003a549eae3ec1b62cc12fbc7c948de44ca5

Ignore XCode stuff.

llazyatom committed 14 years ago
Unverified
a7d74c8ea2aac69a22eeb8efadded26a6af80d49

Added a README for folks poking around.

llazyatom committed 14 years ago
Unverified
8f34b1ee57edf5094b64e097d899d182a3c52315

Initial commit.

llazyatom committed 14 years ago

README

The README file for this repository.

Hashblue.app

This is a proof-of-concept Mac OS X application that uses the #blue API and OAuth2 for authentication.

Getting it running

It uses MacRuby and at least one gem, which have yet to be 'vendored', so you might need to install both MacRuby and the gem:

sudo macgem install json

Usage

Once it has started, clicking the 'Load messages' button will send you to hashblue.com to authenticate. If you accept, it will then return to the application, and your messages will appear a few seconds later.

Notes

This works because we can set the application to respond to a custom URI scheme (hashblue: in this case). This allows the redirect from the OAuth server to send data back to the application in the URL. This is pretty much the only nice user experience for a desktop application without actually embedding a user-agent (i.e. a browser).

At the moment the application does not store (or refresh) the OAuth token, but any decent application would do this to avoid having to authenticate after every launch.

OAuthManager does a bit of clever stuff to hide the authentication hoops from the rest of the app (MyController), but this could almost certainly be improved.