about summary refs log tree commit diff
path: root/src/platform/auth-flow.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/auth-flow.ts')
-rw-r--r--src/platform/auth-flow.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/platform/auth-flow.ts b/src/platform/auth-flow.ts
new file mode 100644
index 000000000..b96fc58e9
--- /dev/null
+++ b/src/platform/auth-flow.ts
@@ -0,0 +1,19 @@
+import * as auth from '@adxp/auth'
+import * as ucan from 'ucans'
+import {makeAppUrl} from '../platform/urls'
+import {ReactNativeStore} from '../state/auth'
+import * as env from '../env'
+
+export async function requestAppUcan(
+  authStore: ReactNativeStore,
+  scope: ucan.Capability,
+) {
+  const did = await authStore.getDid()
+  const returnUrl = makeAppUrl()
+  const fragment = auth.requestAppUcanHashFragment(did, scope, returnUrl)
+  const url = `${env.AUTH_LOBBY}#${fragment}`
+
+  // @ts-ignore window is defined -prf
+  window.location.href = url
+  return false
+}