You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/en/2025-02-04-authentication-backstage-entra-id.md
+16-9Lines changed: 16 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,9 +28,11 @@ Since I found it difficult to locate online resources on authentication with Ent
28
28
According to their official [description](https://backstage.io/docs/overview/what-is-backstage/):
29
29
30
30
> *[Backstage](https://backstage.io/) is an open-source framework for building developer portals. Powered by a centralized software catalog, Backstage restores order to your microservices and infrastructure and enables your product teams to ship high-quality code quickly — without compromising autonomy.*
31
-
> *Backstage unifies all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end.*
31
+
> *Backstage unifies all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end.*
32
+
---
32
33
33
-
💡 **Note:** Backstage is entirely **developer-focused**. If you, like me, come from an infrastructure background, you may find it challenging since all configurations are done through system files — there is no admin interface for managing users, permissions, integrations, or plugins.
34
+
> **Note:** Backstage is entirely **developer-focused**. If you, like me, come from an infrastructure background, you may find it challenging since all configurations are done through system files — there is no admin interface for managing users, permissions, integrations, or plugins.
35
+
{: .prompt-info }
34
36
35
37
---
36
38
@@ -52,7 +54,8 @@ You can then access Backstage locally at `http://localhost:3000`, signing in as
52
54

53
55
*Guest home page*
54
56
55
-
💡 **Guest access is meant for development purposes only and is not recommended for production.** However, if you still want to enable full guest access, you can find the documentation [here](https://backstage.io/docs/auth/guest/provider/).
57
+
> **Guest access is meant for development purposes only and is not recommended for production.** However, if you still want to enable full guest access, you can find the documentation [here](https://backstage.io/docs/auth/guest/provider/).
58
+
{: .prompt-info }
56
59
57
60
---
58
61
@@ -109,10 +112,12 @@ auth:
109
112
- resolver: userIdMatchingUserEntityAnnotation
110
113
```
111
114
112
-
📌 The values for `clientId`, `tenantId`, and `domainHint` can be found on the **Overview** page of your App Registration in Entra ID.
113
-
📌 The `clientSecret` is created under **Certificates & Secrets**.
114
-
115
-
⚠️ **Security Warning:** Never store `clientSecret` directly in the code. Use **environment variables** for production environments.
115
+
> 📌 The values for `clientId`, `tenantId`, and `domainHint` can be found on the **Overview** page of your App Registration in Entra ID.
116
+
> 📌 The `clientSecret` is created under **Certificates & Secrets**.
117
+
{: .prompt-tip }
118
+
---
119
+
> **Security Warning:** Never store `clientSecret` directly in the code. Use **environment variables** for production environments.
120
+
{: .prompt-warning }
116
121
117
122

118
123
*clientId, tenantId and domainHint*
@@ -186,7 +191,8 @@ const app = createApp({
186
191
187
192
Once this is done, you should see the **Microsoft login button** on the Backstage UI.
188
193
189
-
🚨 However, authentication will fail at this point because Backstage does not recognize the user in its catalog. This leads us to the next step.
194
+
> 🚨 However, authentication will fail at this point because Backstage does not recognize the user in its catalog. This leads us to the next step.
Copy file name to clipboardExpand all lines: _posts/pt-BR/2025-02-04-authentication-backstage-entra-id.md
+16-12Lines changed: 16 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,9 +28,11 @@ Como tive dificuldades para encontrar recursos sobre autenticação com o Entra
28
28
De acordo com sua [descrição](https://backstage.io/docs/overview/what-is-backstage) oficial:
29
29
30
30
> *[Backstage](https://backstage.io/) é uma estrutura de código aberto para construção de portais de desenvolvedores. Alimentado por um catálogo de software centralizado, o Backstage restaura a ordem de seus microsserviços e infraestrutura e permite que suas equipes de produto enviem códigos de alta qualidade rapidamente, sem comprometer a autonomia.*
31
-
> *Backstage unifica todas as ferramentas, serviços e documentação de sua infraestrutura para criar um ambiente de desenvolvimento simplificado de ponta a ponta.*
31
+
> *Backstage unifica todas as ferramentas, serviços e documentação de sua infraestrutura para criar um ambiente de desenvolvimento simplificado de ponta a ponta.*
32
+
---
32
33
33
-
💡 **Nota:** Backstage é totalmente **focado em desenvolvedores**. Se você, assim como eu, vem da área de infraestrutura, pode estranhar o fato de que toda a configuração é feita via arquivos de sistema—não há uma interface administrativa para gerenciar usuários, permissões, integrações ou plugins.
34
+
> **Nota:** O Backstage é totalmente **focado em desenvolvedores**. Se você, assim como eu, vem da área de infraestrutura, pode estranhar o fato de que toda a configuração é feita via arquivos de sistema—não há uma interface administrativa para gerenciar usuários, permissões, integrações ou plugins.
35
+
{: .prompt-info }
34
36
35
37
---
36
38
@@ -52,8 +54,8 @@ Você pode então acessar o Backstage localmente em `http://localhost:3000`, ent
52
54

53
55
*Página inicial de convidado*
54
56
55
-
💡**O acesso de convidado é destinado apenas para desenvolvimento e não é recomendado para produção.** No entanto, se desejar habilitá-lo, consulte a documentação [aqui](https://backstage.io/docs/auth/guest/provider/).
56
-
57
+
>**O acesso de convidado é destinado apenas para desenvolvimento e não é recomendado para produção.** No entanto, se desejar habilitá-lo, consulte a documentação [aqui](https://backstage.io/docs/auth/guest/provider/).
58
+
{: .prompt-info }
57
59
---
58
60
59
61
## Passo 2: Criar um App Registration no Entra ID
@@ -110,10 +112,12 @@ auth:
110
112
- resolver: userIdMatchingUserEntityAnnotation
111
113
```
112
114
113
-
📌 Os valores para `clientId`, `tenantId` e `domainHint` podem ser encontrados na **página Overview** do seu App Registration no Entra ID.
114
-
📌 O `clientSecret` é gerado na seção **Certificates & Secrets**.
115
-
116
-
⚠️ **Aviso de Segurança:** Nunca armazene `clientSecret` diretamente no código. Utilize **variáveis de ambiente** em produção.
115
+
> 📌 Os valores para `clientId`, `tenantId` e `domainHint` podem ser encontrados na **página Overview** do seu App Registration no Entra ID.
116
+
> 📌 O `clientSecret` é gerado na seção **Certificates & Secrets**.
117
+
{: .prompt-tip }
118
+
---
119
+
> **Aviso de Segurança:** Nunca armazene `clientSecret` diretamente no código. Utilize **variáveis de ambiente** em produção.
120
+
{: .prompt-warning }
117
121
118
122

119
123
*clientId, tenantId e domainHint*
@@ -187,7 +191,8 @@ const app = createApp({
187
191
188
192
Com isto feito já é possível ver que o botão de autenticação via Entra ID está disponível na interface.
189
193
190
-
🚨 Contudo, a autenticação falhará, pois o Backstage não é capaz de reconhecer o usuário no catálogo. Isso nos leva ao próximo passo.
194
+
> 🚨 Contudo, a autenticação falhará, pois o Backstage não é capaz de reconhecer o usuário no catálogo. Isso nos leva ao próximo passo.
195
+
{: .prompt-error }
191
196
192
197

193
198
*Erro de autenticação*
@@ -218,14 +223,13 @@ spec:
218
223
- guests
219
224
```
220
225
221
-
📌 Notas:
226
+
> 📌 Notas:
222
227
223
228
- `metadata.name`: é o valor de `Mail nickname`, ou o valor antes de `@seudominio.com`;
224
229
- `metadata.annotations.graph.microsoft.com/user-id`: é o valor de `Object ID`;
0 commit comments