https://github.com/cyangle/google-auth
Google OAuth2 library for crystal
https://github.com/cyangle/google-auth
crystal crystal-lang google-cloud oauth2-authentication oauth2-client
Last synced: 7 months ago
JSON representation
Google OAuth2 library for crystal
- Host: GitHub
- URL: https://github.com/cyangle/google-auth
- Owner: cyangle
- License: mit
- Created: 2021-12-02T03:13:08.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-26T05:07:42.000Z (over 3 years ago)
- Last Synced: 2025-03-29T10:12:15.719Z (7 months ago)
- Topics: crystal, crystal-lang, google-cloud, oauth2-authentication, oauth2-client
- Language: Crystal
- Homepage:
- Size: 5.86 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# google-auth
Google OAuth2 library for crystal
## Installation
1. Add the dependency to your `shard.yml`:
```yaml
dependencies:
google-auth:
github: cyangle/google-auth
version: ~> 0.1.1
```
2. Run `shards install`
## Usage
```crystal
require "google-auth"
```
Load credential from json file:
```crystal
cred = GoogleAuth::FileCredential.new(
file_path: "/file/path/to/credential/json/file",
scopes: "https://www.googleapis.com/auth/cloud-platform", # String | Array(String)
user_agent: "crystal/client",
)
```
Get access token:
```crystal
token = cred.get_token
puts token.token_type # => Bearer
puts token.access_token
```
## Development
Install dependencies
```shell
shards
```
Run the tests:
```shell
crystal spec
```
Run lints
```shell
./bin/ameba
crystal tool format --check
```
## Contributing
1. Fork it ()
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request
## Contributors
- [Chao Yang](https://github.com/cyangle) - creator and maintainer