Add option to pass Auth Key as base64 string #144
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pass the base64 encoded Auth Key string to TokenCredentials rather than the file path. This can be useful when the Auth Key is not stored in a file for security reasons.
This also adds a test to ensure that passing in a base64 encoded string is equivalent to passing it in as a file.
I found this option necessary when I wanted to use PyAPNs2 on Heroku. I didn't want to check in the
.p8
Auth Key file because the repo I use is also public on Github. A solution would be to encode the file as base64 and then store it as an environment variable in Heroku. This would provide access to the Auth Key while not needing to include it in the repo.