graphql-python / graphql-python/graphene-sqlalchemy
Question: How do you recommend enforcing authorization?
- Linguagem predominante
- Python
- Estrelas
- 985
- Forks
- 223
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
Hello,
I'd like to systematically enforce authorization for nodes and individual fields within the nodes.
Conceptually something like this might work:
```python
class MyNode(AuthZSQLAlchemyObjectType):
class Meta:
model = MyModel
authorize_node_function = node_authorizer
field_auth = dict(
"name": all_authorizer,
"private_things": self_only_authorizer,
)
```
`node_authorizer(model_instance)` would get called whenever a new Node of that type is created. Only fields in the field_auth dict would be exposed in node, and then the associated function would be called like `resolve_authorizer(model_instance, field_name)`
Any opinions on the best way to achieve this?
Guia de contribuição
Direção de pesquisa
A issue não nomeia arquivos, testes ou pontos de entrada; comece revisando as interfaces propostas de AuthZSQLAlchemyObjectType, node_authorizer e field_auth. Esclareça com os maintainers o comportamento pretendido nos níveis de node e de field antes da implementação, pois a issue não define uma mudança concreta nem como determinar que ela está concluída.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- graphql, python, sqlalchemy
- Domínio
- api, authorization
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 20/100