Þessi módúll tekur á móti island.is login token, verify-ar og skilar user-objecti út.
- Þú sækir um að fá aðgang að innskráningarþjónustunni. Sjá https://island.is/s/stafraent-island/thjonustur
- Þú gefur upp auðkenni (e. audience)
- Þú gefur upp vefslóð sem vefþjónustan kallar á (e. callback url)
- Þegar umsóknin er samþykkt getur þú notað https://innskraning.island.is/?id=eitthvaðauðkenni
- Notandinn slær inn símanúmerið og vefþjónustan gerir http post request á slóðina sem þú gafst upp
- Í kóðanum þínum tekur þú á móti sendingunni. Þessi módúll hjálpar þér þar.
- Þú installar með
npm i island.is-login
- Þú sækir skilríkjakeðjuna FullAuðkenni.cer á https://www.audkenni.is/adstod/skilriki-kortum/skilrikjakedjur/
- Þessi kóði tekur base64 tokenið sem vefþjónusta island.is póstar á slóðina þína
- Breytir í XML/SAML skeyti.
- Sannreynir að skilríkið inn í XML-skjalinu sé undirritað og gefið út af skilríkjakeðjunni, það sé sé gilt, o.s.frv
- Sannreynir að skeytið sé undirritað af skilríkinu sem fylgir í skeytinu.
- Sannreynir að upplýsingarnar í skeytinu séu réttar m.v. þitt kerfi.
const islogin = require('island')
const { readFileSync } = require('fs)
// Read the PEM from Auðkenni/Þjóðskrá
const pem = readFileSync('FullgiltAudkenni.cer").toString('utf-8)
// Make the login function
const login = makeLogin({
authorityPem: pem,
audience: 'WHAT_YOU_WROTE_IN_YOUR_APPLICATION'
callbackUrl: 'WHAT_YOU_WROTE_IN_YOUR_APPLICATION'
})
// Token comes from the island.is request to your route
// If you're using expressjs somehting like req.body.token
login(token)
.then(user => {
console.log(user)
})
.catch(error => {
console.log(error)
})
Or you can use async/await
try {
const user = await login(token)
console.log(user)
} catch (error ) {
console.log(error)
}