Internet accounts (authentication)
A per-track fetch override, usually a bearer token.
DropboxOAuthInternetAccount and GoogleDriveOAuthInternetAccount do not work
in an embedded view, which cannot control redirects and popups. Run the OAuth
flow in your host app and pass the token to
ExternalTokenInternetAccount.
View source — 40 lines
import {
JBrowseLinearGenomeView,
useCreateViewState,
} from '@jbrowse/react-linear-genome-view2'
export default function InternetAccounts() {
const state = useCreateViewState({
assembly: {
name: 'volvox',
uri: 'https://jbrowse.org/genomes/volvox/volvox.2bit',
},
tracks: [
{
type: 'QuantitativeTrack',
trackId: 'google_bigwig',
name: 'Google Drive BigWig',
assemblyNames: ['volvox'],
adapter: {
type: 'BigWigAdapter',
bigWigLocation: {
locationType: 'UriLocation',
uri: 'https://www.googleapis.com/drive/v3/files/1PIvZCOJioK9eBL1Vuvfa4L_Fv9zTooHk?alt=media',
internetAccountId: 'manualGoogleEntry',
},
},
},
],
location: 'ctgA:1105..1221',
internetAccounts: [
{
type: 'ExternalTokenInternetAccount',
internetAccountId: 'manualGoogleEntry',
name: 'Google Drive Manual Token Entry',
description: 'Manually enter a token to access Google Drive files',
tokenType: 'Bearer',
},
],
})
return state ? <JBrowseLinearGenomeView viewState={state} /> : null
}