Browse Source
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>pull/14563/head
committed by
GitHub
2 changed files with 82 additions and 0 deletions
@ -0,0 +1,65 @@ |
|||||
|
# FastAPI Cloud { #fastapi-cloud } |
||||
|
|
||||
|
Você pode implantar sua aplicação FastAPI no <a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a> com um **único comando**; entre na lista de espera, caso ainda não tenha feito isso. 🚀 |
||||
|
|
||||
|
## Login { #login } |
||||
|
|
||||
|
Certifique-se de que você já tem uma conta no **FastAPI Cloud** (nós convidamos você a partir da lista de espera 😉). |
||||
|
|
||||
|
Depois, faça login: |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
$ fastapi login |
||||
|
|
||||
|
You are logged in to FastAPI Cloud 🚀 |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
## Implantar { #deploy } |
||||
|
|
||||
|
Agora, implante sua aplicação, com **um único comando**: |
||||
|
|
||||
|
<div class="termy"> |
||||
|
|
||||
|
```console |
||||
|
$ fastapi deploy |
||||
|
|
||||
|
Deploying to FastAPI Cloud... |
||||
|
|
||||
|
✅ Deployment successful! |
||||
|
|
||||
|
🐔 Ready the chicken! Your app is ready at https://myapp.fastapicloud.dev |
||||
|
``` |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
É isso! Agora você pode acessar sua aplicação nesse URL. ✨ |
||||
|
|
||||
|
## Sobre o FastAPI Cloud { #about-fastapi-cloud } |
||||
|
|
||||
|
O **<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a>** é desenvolvido pelo mesmo autor e equipe por trás do **FastAPI**. |
||||
|
|
||||
|
Ele simplifica o processo de **criar**, **implantar** e **acessar** uma API com esforço mínimo. |
||||
|
|
||||
|
Traz a mesma **experiência do desenvolvedor** de criar aplicações com FastAPI para **implantá-las** na nuvem. 🎉 |
||||
|
|
||||
|
Ele também cuidará da maioria das coisas de que você precisaria ao implantar uma aplicação, como: |
||||
|
|
||||
|
* HTTPS |
||||
|
* Replicação, com dimensionamento automático baseado em requests |
||||
|
* etc. |
||||
|
|
||||
|
O FastAPI Cloud é o patrocinador principal e provedor de financiamento dos projetos open source do ecossistema *FastAPI and friends*. ✨ |
||||
|
|
||||
|
## Implantar em outros provedores de nuvem { #deploy-to-other-cloud-providers } |
||||
|
|
||||
|
FastAPI é open source e baseado em padrões. Você pode implantar aplicações FastAPI em qualquer provedor de nuvem que escolher. |
||||
|
|
||||
|
Siga os tutoriais do seu provedor de nuvem para implantar aplicações FastAPI com esse provedor. 🤓 |
||||
|
|
||||
|
## Implantar no seu próprio servidor { #deploy-your-own-server } |
||||
|
|
||||
|
Também vou lhe ensinar, mais adiante neste guia de **Implantação**, todos os detalhes, para que você possa entender o que está acontecendo, o que precisa acontecer, ou como implantar aplicações FastAPI por conta própria, inclusive nos seus próprios servidores. 🤓 |
||||
@ -0,0 +1,17 @@ |
|||||
|
# Usar antigos códigos de status de erro de autenticação 403 { #use-old-403-authentication-error-status-codes } |
||||
|
|
||||
|
Antes da versão `0.122.0` do FastAPI, quando os utilitários de segurança integrados retornavam um erro ao cliente após uma falha na autenticação, eles usavam o código de status HTTP `403 Forbidden`. |
||||
|
|
||||
|
A partir da versão `0.122.0` do FastAPI, eles usam o código de status HTTP `401 Unauthorized`, mais apropriado, e retornam um cabeçalho `WWW-Authenticate` adequado na response, seguindo as especificações HTTP, <a href="https://datatracker.ietf.org/doc/html/rfc7235#section-3.1" class="external-link" target="_blank">RFC 7235</a>, <a href="https://datatracker.ietf.org/doc/html/rfc9110#name-401-unauthorized" class="external-link" target="_blank">RFC 9110</a>. |
||||
|
|
||||
|
Mas, se por algum motivo seus clientes dependem do comportamento antigo, você pode voltar a ele sobrescrevendo o método `make_not_authenticated_error` nas suas classes de segurança. |
||||
|
|
||||
|
Por exemplo, você pode criar uma subclasse de `HTTPBearer` que retorne um erro `403 Forbidden` em vez do erro padrão `401 Unauthorized`: |
||||
|
|
||||
|
{* ../../docs_src/authentication_error_status_code/tutorial001_an_py39.py hl[9:13] *} |
||||
|
|
||||
|
/// tip | Dica |
||||
|
|
||||
|
Perceba que a função retorna a instância da exceção, ela não a lança. O lançamento é feito no restante do código interno. |
||||
|
|
||||
|
/// |
||||
Loading…
Reference in new issue