Lumin
Marketing Group

Custom applications / Lumin Marketing Group

How Should Staff Sign In to Your Custom Internal Tool?

Three ways staff can log in to a custom internal tool, what each asks of Google Workspace or Microsoft 365, and why removing someone takes more than one click.

The short answer: Use the accounts your team already has. If you run Google Workspace or Microsoft 365, a custom tool can hand sign-in to that account instead of keeping its own list of usernames and passwords, and Microsoft's pricing page lists "unlimited SSO across any SaaS app" in the free Entra ID tier. The gain shows up on the day someone leaves: you disable one account and the tool closes with it, instead of hoping somebody remembers the scheduling app had its own password. The limit to understand first is that the shutoff is not instant, and your own application decides how long the person who left stays signed in.

The three ways this usually gets built

Its own usernames and passwords

The quickest thing a developer can build and the most expensive thing for you to own. Someone in your organization now runs a small identity system: resetting passwords, deciding who may add a user, building two-factor authentication if you want it, and remembering to remove the apprentice who moved on in March. Nothing reminds you. The account simply keeps working.

A separate customer identity setup may be appropriate when people signing in are not staff.

Sign-in with the accounts you already pay for

The tool holds no passwords. It asks Google or Microsoft who the person is, and your admin console stays the record of who works here. For a staff-only internal tool this is usually the right answer, and the cheapest to run because you already pay for the identity part.

Directory groups and platform policy on top

Same sign-in, plus directory groups decide what each person can do and platform rules decide how they connect. The policy part is paid on Microsoft: the Entra licensing documentation states that Conditional Access "requires Microsoft Entra ID P1 licenses".

What each platform asks of you

On Google Workspace

Your app gets an OAuth client and a consent screen, and Google sorts scopes into non-sensitive, sensitive and restricted. Apps asking for sensitive or restricted scopes must pass OAuth app verification first. Non-sensitive scopes avoid the additional sensitive-scope review, though external apps can still need basic app verification. For a tool used only inside your own organization, Google says scopes "aren't listed on the consent screen" and restricted or sensitive use "doesn't require further review by Google".

One admin setting catches people out. You can mark each app Trusted, Limited or Blocked, and tick "Trust internal apps" so apps you own can reach restricted APIs. The same help page notes that blocking all third-party API access "also blocks sign-in scopes", so tidying up connected apps can lock your team out of software you built yourself. Apps configured as Trusted or Limited can override that block, so check each app’s access setting before changing the policy.

On Microsoft 365

Sign-in is included, so the question is what you need around it. Check log retention before assuming you have a record. The Entra data retention reference gives audit logs and sign-in logs as seven days on Entra ID Free and 30 days on P1 and P2, and notes the change is not retroactive, so upgrading later does not recover what aged out. If a dispute about who approved something could land three weeks afterwards, pay for the longer window, route the logs to storage, or have the application keep its own record of consequential actions.

Where single sign-on stops short

Removing someone takes more than one click

Microsoft's guidance on revoking access is worth reading before you sign off on a build. Disabling the account blocks new sign-ins. Revoking sessions revokes the refresh tokens, so the person cannot quietly get new ones. For a typical custom app without continuous access evaluation, issued access tokens can remain valid until expiry; Microsoft gives the default access token lifetime as one hour. The line that matters most: Entra "can't directly revoke an application's own session token", and that session ends when it expires or when the app acts on the change.

So offboarding behaviour is a requirement for the build, not an afterthought. Keep the application's session short, re-check the account on anything consequential, and sign the person out when a token refresh fails.

Google's side has a similar shape. Suspending a user blocks their access to Workspace services while the account and its data stay intact. Suspended accounts are still billed at the active rate, so suspend-and-forget is a line item.

Clients and subcontractors are a separate problem

A client portal should not put your customers into your staff directory. Give them their own sign-in route, decide what a signed-in client can see, and keep that list separate from the people who work for you. Mixing the two is how a customer reads an internal note.

A hypothetical example

Take an electrical contractor in Sherwood Park with 14 field staff and a custom job-scheduling tool that has its own logins. Three accounts belong to people who left, one password is shared between two apprentices, and nobody can say who moved a service date last Tuesday.

The fix is not a new tool. It is moving sign-in onto the Microsoft accounts the crew already uses for email, mapping the two roles to directory groups, shortening the app session so a disabled account loses access in minutes, and recording job changes inside the app, because the free log window is seven days.

A checklist before you approve the build

  1. Name the identity source of truth for staff, in writing. Google Workspace or Microsoft 365, one of them.
  2. Confirm the tool requests sign-in information only, not mailboxes or files, unless there is a reason you can state.
  3. Write down the roles. Two or three is usually enough, each mapped to a group you already maintain.
  4. Ask what happens to an open session when you disable an account, and get an answer in minutes or hours.
  5. Check the log retention you need for disputes against seven days on Microsoft Entra ID Free.
  6. Settle who may add and remove users.
  7. Keep clients and subcontractors on a sign-in route separate from staff.
  8. Before launch, remove a test account and confirm the tool closes.

Where Lumin fits

  • Our business solutions work includes custom applications, described on that page as building a focused interface or app for tasks existing tools handle poorly, plus connected workflows so enquiries, email, calendars and internal tools need less manual copying.
  • Projects start with a discovery call, then scope, access requirements and a practical first step. Sign-in belongs in that conversation, not in the last week of a build.
  • We do not promise a platform or a price before we know what you already run.

To talk through what your team should sign in with, book a discovery call.

Frequently asked questions

Is sign-in with Google or Microsoft safe for an internal tool?

It moves the risky part to the system you already trust with your email. The tool never sees or stores a password, and two-factor authentication, password rules and account suspension stay in one admin console. The trade is that your identity platform becomes a single point of failure, which it already is.

Do we have to pay more to do this?

Not for sign-in itself. Microsoft lists unlimited SSO in the free Entra ID tier, and a Google Workspace subscription already covers the accounts. Paid tiers come into it for Conditional Access, which Microsoft states requires P1, or for sign-in logs kept longer than seven days.

Can we add this to a tool that already has its own passwords?

Usually, and the order matters: add the new sign-in route, move people across, then remove the old password table rather than leaving it as a quiet back door. Expect to decide what happens to accounts with no matching directory user, because there are usually a few.