{"action":"closed","issue":{"url":"https://api.github.com/repos/bryanjos/joken/issues/79","labels_url":"https://api.github.com/repos/bryanjos/joken/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/bryanjos/joken/issues/79/comments","events_url":"https://api.github.com/repos/bryanjos/joken/issues/79/events","html_url":"https://github.com/bryanjos/joken/issues/79","id":104284469,"number":79,"title":"Use string keys by default in new API","user":{"login":"bryanjos","id":1257573,"avatar_url":"https://avatars.githubusercontent.com/u/1257573?v=3","gravatar_id":"","url":"https://api.github.com/users/bryanjos","html_url":"https://github.com/bryanjos","followers_url":"https://api.github.com/users/bryanjos/followers","following_url":"https://api.github.com/users/bryanjos/following{/other_user}","gists_url":"https://api.github.com/users/bryanjos/gists{/gist_id}","starred_url":"https://api.github.com/users/bryanjos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bryanjos/subscriptions","organizations_url":"https://api.github.com/users/bryanjos/orgs","repos_url":"https://api.github.com/users/bryanjos/repos","events_url":"https://api.github.com/users/bryanjos/events{/privacy}","received_events_url":"https://api.github.com/users/bryanjos/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/bryanjos/joken/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-09-01T14:52:19Z","updated_at":"2015-09-02T14:53:35Z","closed_at":"2015-09-02T14:53:35Z","body":"I asked about what's the best practice for string keys vs atom keys and the response I got was \"string keys for user input, atom keys for everything else\". I also know that Guardian, which currently uses this library, uses string keys as well. Right now, the default token uses atoms for the claims and validations and the verify function turns the strings into atoms after JSON decoding.\r\n\r\nI think we should use strings for keys by default and only use atoms when the user adds a claim or validation using one, a struct is used, and in the case of verify when a struct is given or an option to use atoms is given.\r\n\r\n@cs-victor-nascimento what do you think?\r\n@hassox maybe you would like to chime in as well?"}}