LogoLogo
  • Technical Direction
  • Technical overview
    • Technical Implementation
    • API Design Guide
      • Data Definitions and Standards
      • Data Transfer Objects
      • Documentation
      • Environments
      • Error Handling
      • Example API Service
      • GraphQL Naming Conventions
      • Methods
      • Naming Conventions
      • Once Only Principle
      • Pagination
      • Resource Oriented Design
      • REST Request
      • REST Response
      • Security
      • Versioning
    • Ísland.is Public Web Data Flow
    • Code Reviews
    • Code Standards
    • Monorepo
    • Project Management
    • Teamwork
    • Architectural Decision Records
      • Use Markdown Architectural Decision Records
      • Use NX
      • Continuous Integration
      • CSS
      • Branching and Release Strategy
      • Error Tracking and Monitoring
      • What API Management Tool to Consider
      • Viskuausan Static Site Generator
      • Use OAuth 2.0 and OpenID Connect As Protocols for Authentication and Authorization
      • Unified Naming Strategy for Files and Directories
      • CMS
      • Open Source License
      • What Chart Library Should We Use Across Island.is?
      • What Feature Flag Service/application Should We Use at Island.is?
      • Logging, Monitoring and APM Platform
      • ADR Template
    • Log Management Policy
  • Products
    • Island.is Authentication Service
      • Terminology
      • Integration Options
      • Authentication Flows
      • Authorising API Endpoints
      • Session Lifecycle
      • Scopes and Tokens
      • Delegations
      • Configuration
      • Tools and Examples
      • Environments
      • Test IAS with Postman
      • Using the IAS admin portal
    • Notifications / Hnipp
      • New Notification Setup Guide
      • Notifications service workflow overview
      • Email notifications
    • Pósthólfið
      • Security Checklist
      • Introduction
      • Skjalatilkynning API
      • Skjalaveita API
      • Sequence Diagram
      • Interfaces
    • Straumurinn (X-Road)
      • Architecture Guidelines for Service Providers and Consumers
      • Setting up an X-Road Security Server
        • Network Configuration
      • X-Road - Uppfærsla á öryggisþjónum
      • Straumurinn - Notkun og umsýsla
      • X-Road Central - current version
  • Development
    • Getting Started
    • Generating a New Project
    • Definition of done
    • Devops
      • Continuous Delivery
      • Database
      • Dockerizing
      • Environment Setup
      • Logging
      • Metrics
      • NextJS Custom Server
      • Observability
      • Operations Base Principles
      • Security
      • Service Configuration
      • Support
    • AWS Secrets
    • Feature Flags
    • Documentation Contributions
    • Defining Monorepo Boundaries With Tags
    • OpenAPI
    • Code Generation
    • Workspace Settings (Deprecated)
    • External Contributions
  • REFERENCE
    • Problems
      • 400 Validation Failed
      • 400 Attempt Failed
      • 403 Bad Subject
      • 400 500 Template API Error
    • Glossary
  • Misc
    • Guide: Adding a Payment Step to an Application
    • Guide: Enable Organisations to Make Requests to an Application
    • README Template
Powered by GitBook
On this page
  • Setting up a login for a webpage
  • Enabling delegations (umboð) for an existing login
  • Exposed Secret

Was this helpful?

  1. Products
  2. Island.is Authentication Service

Using the IAS admin portal

PreviousTest IAS with PostmanNextNotifications / Hnipp

Last updated 2 days ago

Was this helpful?

Public institutions and municipalities who use the IAS are granted access to an admin portal accessible at . The admin portal is still under development and new features are added regularly but currently organizations should be able to set up and configure OpenID Connect/OAuth clients and scopes to fulfill most of their needs. If you think you cannot achieve some functionality please contact island.is support at island@island.is.

Organizations can manage who has access to the IAS admin portal on their behalf using the island.is delegation system (Umboðskerfi Ísland.is). Ideally a representative(s) of the institution or municipality manages all IAS settings on behalf of the institution/municipality. In the case where the technical knowledge to effectively use the admin portal is lacking, granting access to technical vendors is acceptable. We do however recommend that some representative of the institution/municipality monitors the usage of applications/permissions in the IAS admin portal.

To assist first time users in using the IAS admin portal we've created instructions for a few common use cases.

Setting up a login for a webpage

Use case: The government institution MyOrg wants to setup a login for their service portal/my pages.

  1. Go to the Application overview and click Create Application.

  2. Enter a name, a matching ID will be auto-filled but can be edited if you wish.

  3. Select environment. We recommend first creating the application in staging, finish all development and testing and then using the publish function to create an identical application in production. For the remainder of this guide we will assume that's the approach you took as well.

  4. Application type should be Web Application.

  5. Click Create.

  6. Under Application URLs fill in both the Callback URL and Logout URL fields. Both fields can hold multiple URLs with one URL per line, the list of URLs is most likely provided by your dev team. Don't forget to click Save settings once you're done.

  7. Send the Client ID and Client Secret to your dev team. The ID and secret can be considered equivalent to a username and password combination, the ID can be made public but the secret MUST be kept private so we recommend using a secret sharing service such as or to safely send the secret via email or similar. Never send the secret in plaintext or share pictures of it. See for instructions on what to do if a secret is exposed.

  8. Once development is complete and your login is ready to go live open the application again, click the drop-down in the top-right corner and select "Publish to Production"

  9. In the pop-up window select "publish from Staging", this will copy all relevant settings from staging to production

  10. Add application URLs for your production environment to the Callback URL and Logout URL fields.

  11. Send the Client Secret for production to your dev or operation team, remember to keep the Client Secret private and follow the directions under in case the secret is exposed.

Enabling delegations (umboð) for an existing login

  1. Go to the Permissions overview and click Create Permission

  2. Enter a name, a matching ID will be auto-filled but can be edited if you wish.

  3. Enter a description, this should give users a clear and concise idea of what rights this permission will give.

  4. Select environment, as with creating an application we recommend creating the permission in staging first and completing all development work before going to production.

  5. Add an english translation of both name and description for your permission.

  6. Under Delegations select which user groups should get this delegation.

    1. Procuration Holders: If selected Procuration Holders as registered in the Company Registry (Fyrirtækjaskrá) can log in on behalf of their companies.

    2. Legal Guardians: If selected Legal Guardians of children (up to 18 years old) as registered in the National Registry (Þjóðskrá) can log in on behalf of their children.

    3. .

    4. Custom Delegations: If selected users can grant permission to individuals to login on their behalf. If this option is selected it is critical that the name and description chosen in steps 2, 3 and 5 are clear to the user.

    5. Legal Representative: If selected Legal Representatives as registered by the District Commissioner (Sýslumaður) can log in on behalf of their wards.

  7. Go to Applications and select your application.

  8. Make sure you've selected "Staging" in the drop-down in the top right corner.

  9. Under the Permissions section click Add Permission, find the permission you just created (you might have to refresh the page) and add the new permission. Don't forget to click Save Settings once you're done.

  10. Under the Delegations section select the same options as you did for the permission. We also recommend checking "Always prompt delegations" as this will prompt your users to select a delegation (if there's multiple options) upon login. Before clicking "Save" make sure to un-check "Save in all environments", this ensures that the changes we make now are limited to Staging and won't affect the login process for live users.

  11. Send the permission ID to your dev team and have them add it to the list of requested scopes during the login process.

  12. Once development is complete and the use of the delegations ready to go live open the permission again, click the drop-down in the top-right corner and select "Publish to Production"

  13. In the pop-up window select "Publish from Staging", this will copy all relevant settings from staging to production.

  14. Go to Applications and select your application

  15. Under the Permissions tab click Add Permission, find the permission you just created (you might have to refresh the page) and add the permission. Don't forget to click Save Settings once you're done.

  16. Click the drop-down in the top-right corner and select "Staging"

  17. Under the Delegations tab click the button that says "out of sync" and then click "sync settings from this environment". This will transfer all the settings we changed in step 6 from staging to production.

Exposed Secret

In case of an exposed secret it is critical that the secret be replaced as soon as possible, before malicious parties are able to exploit the secret.

  1. Open your application in the IAS admin portal

  2. Scroll to the bottom of the page, to the Danger Zone

  3. Click Rotate Secret

  4. Select if you wish to revoke the old secrets immediately, if you suspect that malicius parties already have access to the secret we recommend doing revoking of the secret immediately.

  5. Confirm that the new secret works and logging in is possible.

  6. If you checked "Rotate Secret" in step 4 you're done. If you didn't you'll see a warning box at the top of the page letting you know that multiple secrets are still active. Click Revoke old secrets to de-activate them.

Use case: The government MyOrg wants to allow companies to submit documents to their service portal. This tutorial assumes you've already completed the steps in and have a staging application for testing/development and a production application with live users.

When deciding on a name and description for your permission, go to and take a look at how other government agencies have worded their names and description. Creating a consistent experience and understanding for users who interact with multiple government agencies can improve the user experience and reduce risk of misunderstandings.

Click Generate, this will create a new secret for your client. Copy the new secret and send it to your ops team using some secure secret sharing method, see the section on for more information on secret sharing.

https://island.is/minarsidur/adgangsstyring/umbod
https://island.is/stjornbord/innskraningarkerfi
https://onetimesecret.com/
https://scrt.link/en
EXPOSED SECRET
EXPOSED SECRET
Setting up a login for a webpage
Setting up a login