Skip to content

Commit 2343f3f

Browse files
authored
Merge pull request #698 from SolidOS/fixAuthTests
New authn lib
2 parents 62f2c23 + 443cb4e commit 2343f3f

6 files changed

Lines changed: 390 additions & 203 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ on:
77
push:
88
branches:
99
- main
10+
- staging
1011
pull_request:
1112
branches:
1213
- main
14+
- staging
1315
workflow_dispatch:
1416

1517
jobs:

babel.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export default {
99
'@babel/preset-typescript',
1010
],
1111
plugins: [
12+
'babel-plugin-transform-import-meta',
1213
[
1314
'babel-plugin-inline-import', {
1415
extensions: [

dev/loader.ts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
import * as paneRegistry from 'pane-registry'
33
import * as $rdf from 'rdflib'
4-
import { solidLogicSingleton, store, authSession } from 'solid-logic'
4+
import { solidLogicSingleton, store, authSession, authn } from 'solid-logic'
55
import { getOutliner, initMainPage, refreshUI } from '../src'
66
import Pane from 'profile-pane'
77
import './dev-mash.css'
@@ -130,22 +130,21 @@ window.onload = async () => {
130130
// registerPanes((cjsOrEsModule: any) => paneRegistry.register(cjsOrEsModule.default || cjsOrEsModule))
131131
const contactsPane = await import('contacts-pane')
132132
paneRegistry.register((contactsPane as any).default || contactsPane)
133-
await authSession.handleIncomingRedirect({
134-
restorePreviousSession: true
135-
})
136-
const session = await authSession
137-
if (!session.info.isLoggedIn) {
133+
await authn.checkUser()
134+
const session = authSession
135+
const isLoggedIn = session?.info?.isLoggedIn ?? session?.isActive ?? Boolean(session?.webId)
136+
if (!isLoggedIn) {
138137
console.log('The user is not logged in')
139138
const loginBanner = document.getElementById('loginBanner');
140139
if (loginBanner) {
141140
loginBanner.innerHTML = '<button onclick="login()">Log in</button>';
142141
}
143142
} else {
144-
console.log(`Logged in as ${session.info.webId}`)
143+
console.log(`Logged in as ${session.webId}`)
145144

146145
const loginBanner = document.getElementById('loginBanner');
147146
if (loginBanner) {
148-
loginBanner.innerHTML = `Logged in as ${session.info.webId} <button onclick="logout()">Log out</button>`;
147+
loginBanner.innerHTML = `Logged in as ${session.webId} <button onclick="logout()">Log out</button>`;
149148
}
150149
}
151150
addLayoutButtons()
@@ -156,14 +155,14 @@ window.logout = () => {
156155
window.location.href = ''
157156
}
158157
window.login = async function () {
159-
const session = await authSession
160-
if (!session.info.isLoggedIn) {
158+
const session = authSession
159+
const isLoggedIn = session?.info?.isLoggedIn ?? session?.isActive ?? Boolean(session?.webId)
160+
if (!isLoggedIn) {
161161
const issuer = prompt('Please enter an issuer URI', 'https://solidcommunity.net')
162162
if (issuer) {
163163
await authSession.login({
164164
oidcIssuer: issuer,
165-
redirectUrl: window.location.href,
166-
clientName: 'Solid Panes Dev Loader'
165+
redirectUrl: window.location.href
167166
})
168167
} else {
169168
console.warn('Login cancelled: No issuer provided.')

jest.config.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ export default {
99
},
1010
testPathIgnorePatterns: ['/node_modules/', '/dist/'],
1111
transform: {
12-
'^.+\\.[tj]sx?$': ['babel-jest', { configFile: './babel.config.mjs' }],
12+
'^.+\\.(?:[tj]sx?|mjs)$': ['babel-jest', { configFile: './babel.config.mjs' }],
1313
},
14-
transformIgnorePatterns: ['/node_modules/(?!lit-html).+\\.js'],
14+
transformIgnorePatterns: ['/node_modules/(?!(solid-ui/node_modules/|@lit|lit|lit-html|lit-element|uuid|@noble|@uvdsl/solid-oidc-client-browser)).+\\.js$'],
1515
moduleNameMapper: {
1616
'^SolidLogic$': 'solid-logic',
1717
'^UI$': 'solid-ui',

0 commit comments

Comments
 (0)