githubauthquerystring
Authorise GitHub API requests by appending the environments auth credentials to your request's query string.
Usage
Fetch
Using environment variables:
import githubAuthQueryString from 'githubauthquerystring'
const githubURL = `https://api.github.com/user?${githubAuthQueryString}`
Using manual GITHUB_ACCESS_TOKEN
:
import { fetch } from 'githubauthquerystring'
const githubAuthQueryString = fetch({
GITHUB_ACCESS_TOKEN: 'value'
})
const githubURL = `https://api.github.com/user?${githubAuthQueryString}`
Using manual GITHUB_CLIENT_ID
and GITHUB_CLIENT_SECRET
:
import { fetch } from 'githubauthquerystring'
const githubAuthQueryString = fetch({
GITHUB_CLIENT_ID: 'value',
GITHUB_CLIENT_SECRET: 'value'
})
const githubURL = `https://api.github.com/user?${githubAuthQueryString}`
If the values did not exist or were not in a valid combination, then an empty string will be returned.
Redaction
When error reporting, you should redact the error message to prevent credentials from leaking in log files:
import { fetch as fetchGithubAuthQueryString, redact } from 'githubauthquerystring'
import 'fetch' from 'cross-fetch'
// fetch the url
const githubAuthQueryString = fetchGithubAuthQueryString({
GITHUB_CLIENT_ID: 'value',
GITHUB_CLIENT_SECRET: 'value'
})
const githubURL = `https://api.github.com/user?${githubAuthQueryString}`
// fetch the response
(async function () {
try {
const resp = await fetch(githubURL)
const data = await resp.json()
}
catch (err) {
// redact the error before logging it
console.error(redact(err.message))
}
})()
Renaming
If you would like to rename the methods to something else, you can do it like so:
// using named imports
import ghQueryString, {
fetch as fetchGithubAuthQueryString,
redact as redactGithubAuthQueryString
} from 'githubauthquerystring'
// using destructuring
const {
default: ghQueryString,
fetch: fetchGithubAuthQueryString,
redact: redactGithubAuthQueryString
} = require('githubauthquerystring')
Install
npm
- Install:
npm install --save githubauthquerystring
- Import:
import pkg from ('githubauthquerystring')
- Require:
const pkg = require('githubauthquerystring').default
pika
<script type="module">
import pkg from '//cdn.pika.dev/githubauthquerystring/^3.0.1'
</script>
unpkg
<script type="module">
import pkg from '//unpkg.com/githubauthquerystring@^3.0.1'
</script>
jspm
<script type="module">
import pkg from '//dev.jspm.io/githubauthquerystring@3.0.1'
</script>
Editions
This package is published with the following editions:
-
githubauthquerystring/source/index.ts
is TypeScript source code with Import for modules -
githubauthquerystring/edition-browsers/index.js
is TypeScript compiled against ESNext for web browsers with Import for modules -
githubauthquerystring
aliasesgithubauthquerystring/edition-esnext/index.js
-
githubauthquerystring/edition-esnext/index.js
is TypeScript compiled against ESNext for Node.js with Require for modules
History
Discover the release history by heading on over to the HISTORY.md
file.
Contribute
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
Backers
Maintainers
These amazing people are maintaining this project:
- Benjamin Lupton
Sponsors
No sponsors yet! Will you be the first?
Contributors
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
License
Unless stated otherwise all works are:
- Copyright © 2018+ Benjamin Lupton
and licensed under: