Giter Site home page Giter Site logo

snsinfu / deno-oauth-1.0a Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 289 KB

OAuth 1.0a Request Authorization for deno

Home Page: https://doc.deno.land/https/raw.githubusercontent.com/snsinfu/deno-oauth-1.0a/main/mod.ts

License: MIT License

TypeScript 100.00%
deno typescript oauth1

deno-oauth-1.0a's Issues

Cannot reproduce an RFC example

The test case OAuthClient.sign - produces correct HMAC-SHA1 signature (RFC) added in a7168ad fails. The signature base string looks correct (verified in a test case for getBaseString). So, it could be a bug in a signature computation.

Strangely, a test case inherited from ddo/oauth-1.0a succeeds. In that test case an HMAC-SHA1 signature is computed. But without token secret (as opposed to the failing test case).

Maybe something is wrong with the handling of token secret in the current implementation.

Request-based API

As a deno library, it would be more natural to sign a Request object than an ad-hoc method-url pair (plus opts.body). The sign function should look like:

sign(req: Request, opts?: SignOptions): Request;

This way, I can compose a fully customized request object, sign it and immediately pass the result to the fetch function:

const request = new Request(url, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-API-Version": "1",
  },
  body: JSON.stringify(data),
});
const response = await fetch(
  client.sign(request, { token: userToken })
);

Docs on the Request class:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.