![Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility](https://cdn.sanity.io/images/cgdhsj6q/production/97774ea8c88cc8f4bed2766c31994ebc38116948-1664x1366.png?w=400&fit=max&auto=format)
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@portal-hq/gdrive-storage
Advanced tools
The `@portal-hq/gdrive-storage` package contains a storage adapter intended for use with the `@portal-hq/core` package.
The @portal-hq/gdrive-storage
package contains a storage adapter intended for use with the @portal-hq/core
package.
This storage adapter allows end users to save backup MPC shares to their Google Drive.
Install the package in your React Native project.
yarn add @portal-hq/gdrive-storage
# OR #
npm install --save @portal-hq/gdrive-storage
Import the package into the component where you initialize the Portal class
import Portal from '@portal-hq/core'
import GoogleStorage from '@portal-hq/google-storage'
Register your storage adapter and initialize the Portal class
const storage = new GoogleStorage({
// Required for Android
androidClientId: 'YOUR_ANDROID_CLIENT_ID',
// Required for iOS
iosClientId: 'YOUR_IOS_CLIENT_ID',
// Optional
folder: 'YOUR_CUSTOM_STORAGE_LOCATION',
})
const portal = new Portal({
// ...your other config options
backup: {
gdrive: storage,
},
})
Because this package uses the @react-native-google-signin/google-signin
and @robinbobin/react-native-google-drive-api-wrapper
packages (which contain native modules) there is some additional linking required to make it work with your React Native project.
Explicitly install the @react-native-google-signin/google-signin
and @robinbobin/react-native-google-drive-api-wrapper
packages in your project.
yarn add @react-native-google-signin/google-signin
# OR #
npm install --save @react-native-google-signin/google-signin
Create a new project here
Go here click ENABLE APIS AND SERVICES
.
Find Google Drive
and Enable it.
Click on Create Credentials
and select Google Drive API
and User Data
for the type of data we are accessing.
Set up the OAuth Consent screen and add emails for testing
Click on Credentials
on the left navigation bar and then CREATE CREDENTIALS
-> OAuth Client ID
For Application Type
select iOS and enter the applications names.
Get your Bundle ID from the react-native / iOS project.
Download your .plist and copy your REVERSED_CLIENT_ID
to the URL Scheme section of your info.plist in xcode.
Rename the downloaded plist file to GoogleService-Info.plist
and save to your /ios/
directory.
Save your clientId for usage in the PortalStorageProvider
Add the below to your info.plist:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>REVERSE_CLIENT_ID</string>
</array>
</dict>
</array>
To get Android working, you'll need to create 2 (two) OAuth Client IDs. One will be of type Android
and the other of type Web
Create a new project here
Go here click ENABLE APIS AND SERVICES
.
Find Google Drive
and Enable it.
To get started, go to Credentials
and click Create Credentials
Select OAuth Client ID
Select Android
from the list
Fill in the form as instructed, with Name
, Package name
, and SHA-1
from your keystore. Note that when testing you'll want to use your debug.keystore
at /android/app/debug.keystore
. However later on you'll need to switch this value when pushing it to the store. (See https://stackoverflow.com/questions/41194413/google-sign-in-for-android-release-vs-debug)
After successfully creating your Android
OAuth Client ID, download the JSON:
This will create a google-service.json
file on your local machine.
Move the google-service.json
file into the /android/app
directory.
Go back to the Credentials
screen and repeat step 2.
This time select Web Application
:
Name
. Then after you click Create
, copy the value from Your Client ID
.<PortalStorageProvider />
like so:Once this is done, you can continue to develop your project like normal
FAQs
Portal's Google Sign-in and Google Drive API integration.
The npm package @portal-hq/gdrive-storage receives a total of 198 weekly downloads. As such, @portal-hq/gdrive-storage popularity was classified as not popular.
We found that @portal-hq/gdrive-storage demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.