Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix incorrect PKCE code challenge generation #452

Merged
merged 2 commits into from
Jan 8, 2024

Conversation

mrashed-dev
Copy link
Contributor

Description

This PR fixes the PKCE code challenge generation; the correct method the API wants is for us to base64 encode the hex string as opposed to base64 encoding resulting hashed bytearray directly.

License

I confirm that this contribution is made under the terms of the MIT license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Copy link
Contributor

@atejada atejada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good 👍

@mrashed-dev mrashed-dev merged commit eaa17a0 into v6.0.0-beta Jan 8, 2024
1 check passed
@mrashed-dev mrashed-dev deleted the v6-fix-oauth-pkce-generation branch January 8, 2024 19:04
mrashed-dev added a commit that referenced this pull request Feb 5, 2024
# Description
This PR is a culmination of all the PRs that contained v6-related development, with formal support for the Nylas API v3. This release is essentially the same as the v6.0.0.beta.4 release found on rubygems. Please refer to the readme for a quick start guide on using the new SDK, as well as links to the upgrade doc as well as the SDK reference docs.

# Changelog
* **BREAKING CHANGE**: Ruby SDK v6 supports the Nylas API v3 exclusively, dropping support for any endpoints that are not available in v3.
* **BREAKING CHANGE**: Officially support minimum Ruby v3
* **BREAKING CHANGE**: Removed all models and typing from the SDK
* **REMOVED**: Local Webhook development support is removed due to incompatibility
* Rewrote the majority of SDK to be more modular and efficient
* Created error classes for the different API errors as well as SDK-specific errors
* Added a configurable timeout for outgoing calls to the API

========================================================================================

* Major Refactor and API v3 base implementation (#418)

* AV-1468 Purge collections and models

* new design

* FIRST WORKING API CALL!!!

* update

* quik cfix

* testing file

* refactor http handling for resources

* node sdk parity

* refactor

* refactor

* application + redirect_uris

* scopes

* fix

* more fix

* fixes

* more fix

---------

Co-authored-by: Mostafa Rashed <[email protected]>

* Generate SDK references github action (#423)

* v3 Polish: Cleanup & documentation (#420)

This PR:

* adds Yard documentation
* cleans up typos and just code tidy
* Update dependencies and gemspec
* Update readme
* Repo cleanup
* Bug fixes

* v6.0.0.beta.1 Release (#425)

This PR is for releasing the first beta of v6 on RubyGems.

* Add better documentation, more errors, default timeout (#426)

This PR adds an upgrade doc, updates the readme, adds more error classes and a default timeout.

Co-authored-by: Lrubin <[email protected]>

* Add support for free-busy endpoint (#428)

* Add support for read, update, and delete for messages (#429)

* Update README for Hacktoberfest (#427)

add blurb on hacktoberfest guidelines

* Fix Rubocop complains

None of them related to my code, but everything is fixed and tested

* Remove hackathon blurb

---------

Co-authored-by: Mostafa Rashed <[email protected]>

* Add support for custom authentication, connectors, and credentials APIs (#431)

Adds support for custom authentication, the connectors API and the credentials API.

* Add Folders API support (#433)

This PR adds support for the Folders API

* Ruby SDK Messages, Threads, Drafts, and Send support (#432)

This PR adds support to messages, threads, drafts, and send.

* Ruby Attachments API support (#434)

This PR adds support for the Attachments API

* v6.0.0 beta 2 release (#436)

* Added additional error classes (#426)
* Added support for free/busy endpoint (#428)
* Added support for Messages, Drafts, and Smart Compose APIs (#432)
* Added support for custom authentication, connectors, and credentials APIs (#431)
* Added support for folders API (#433)
* Added support for attachments API (#434)
* Set default timeout to 30 seconds (#426)

* Fixed issue when sending message without attachments (#437)

This PR fixes a bug that arises when sending messages and creating or modifying drafts without any attachments present.

* Fix free-busy endpoint (#440)

The endpoint for free-busy was "availability" when it should be "free-busy"

* Add support for contacts API (#438)

This PR adds support for the contacts API.

* Update drafts.rb to include send

Adding "send" to the drafts endpoint

* Add missing webhooks (#445)

Added webhook triggers for:

* Message Opened
* Message Link Clicked
* Thread Replied

* Fix doc lines

* Added send-rsvp support for events api (#444)

Added send-rsvp support for events api

* Move `Grants` to `NylasClient` and custom authentication to `Auth` (#447)

* Move grants out of auth

* move grant create to custom auth

* Update CHANGELOG.md

* Fix OAuth URL building throwing an error (#449)

There is a syntax error when calling build_query.

* v6.0.0 beta 3 Release (#450)

* Update CHANGELOG.md

* linting

* bump ver

* Update CHANGELOG.md

* Fix List and Find Scheduled Messages (#451)

List and Find Scheduled messages are mixed up

* Fix incorrect PKCE code challenge generation (#452)

This PR fixes the PKCE code challenge generation; the correct method the API wants is for us to base64 encode the hex string as opposed to base64 encoding resulting hashed bytearray directly.

* Fixed incompatible types when building OAuth2 URL (#453)

We were encoding our URL prematurely, causing an error to be thrown when setting additional parameters (PKCE, etc.)

* Update contact_groups to list_groups (#455)

* Update connectors.rb (#454)

* Added v6 beta tests and fixes (#458)

Increase code coverage to ~100%. Fixes were also completed:
* **BREAKING CHANGE**: Renamed `Applications.info()` to `Applications.get_details()` for consistency
* **BREAKING CHANGE**: Changed return type of `Auth.url_for_oauth2_pkce()` from `OpenStruct` to a hash for consistency
* Added support for detecting providers
* Added enhanced support for the `Webhooks` API
* Default `client_secret` to the configured `api_key` for token exchange methods if not provided
* Fixed construction of query parameters
* Fixed construction of OAuth2 URL
* Fixed typo in paths for `Grants` class

* v6.0.0 beta 4 release (#459)

# Changelog
* **BREAKING CHANGE**: Renamed `Applications.info()` to `Applications.get_details()` for consistency
* **BREAKING CHANGE**: Changed return type of `Auth.url_for_oauth2_pkce()` from `OpenStruct` to a hash for consistency
* Added support for detecting providers
* Added enhanced support for the `Webhooks` API
* Default `client_secret` to the configured `api_key` for token exchange methods if not provided
* Fixed list and find scheduled messages
* Fixed incorrect PKCE code challenge generation
* Fixed incompatible types when building OAuth2 URL
* Fixed construction of query parameters
* Fixed construction of OAuth2 URL
* Fixed typo in paths for `Grants` class

* Update CHANGELOG.md

* remove unneded changes from v5

* cleanup references to beta

* add xml for simplecov for codecov support

---------

Co-authored-by: Albert T <[email protected]>
Co-authored-by: Aaron de Mello <[email protected]>
Co-authored-by: Lrubin <[email protected]>
Co-authored-by: Blag <[email protected]>
Co-authored-by: YIFAN WU <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants