Skip to content

Commit

Permalink
Merge pull request #6 from API-Skeletons/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
sergiohermes committed Oct 19, 2017
2 parents 26dc85d + 4cca2d8 commit bfe6892
Show file tree
Hide file tree
Showing 12 changed files with 80 additions and 82 deletions.
3 changes: 0 additions & 3 deletions about.rst
Expand Up @@ -8,8 +8,5 @@ Tom é o autor original de `zfcampus/zf-apigility-doctrine <https://github.com/z
e criou muitas bibliotecas de apoio para Doctrine com Apigility. Ele contribuiu muito para o desenvolvimento inicial
do Apigility e continua a fornecer fonte aberta em PHP.

As soon as Apigility was announced developers were asking for Doctrine support though none of us really knew what
that ment. What was created serves as a strong platform for an ORM based API.

Assim que a Apigility foi anunciada, os desenvolvedores estavam pedindo apoio à Doutrina, embora nenhum de nós realmente soubesse como fazer
isso. O que foi criado serve como uma plataforma forte para uma API baseada em ORM.
2 changes: 1 addition & 1 deletion index.rst
@@ -1,7 +1,7 @@
Documentação - Doctrine com Apigility
=====================================

Isso documentará como criar uma API com Doctrine e Apigility.
Documentação de como criar uma API com Doctrine e Apigility.

.. toctree::
:caption: Índice
Expand Down
3 changes: 1 addition & 2 deletions introduction.rst
Expand Up @@ -20,8 +20,7 @@ Isso proporciona um poderoso início da construção de uma API. Os metadados co
Para ajudar a projetar seu ORM `Skipper <https://skipper18.com>`_ é fortemente recomendado.

Você pode usar a Doctrine com Apigility para atender partes do seu esquema, filtrando com hydrator strategies ou você pode
servir seu esquema inteiro em uma "API de esquema aberto" onde os relacionamentos entre entidades são totalmente explorados no HAL
_embedded data.
servir seu esquema inteiro em uma "API de esquema aberto" onde os relacionamentos entre entidades são totalmente explorados por _embedded no HAL.

Se você está familiarizado com os benefícios da ORM e irá usá-lo em seu projeto e você precisa de uma solução completa
O mecanismo e a estratégia dessa implementação pode ser o que você esteja procurando.
2 changes: 1 addition & 1 deletion zf-oauth2-doctrine-console/index.rst
Expand Up @@ -50,7 +50,7 @@ Console Routes

* ``oauth2:public-key:delete`` Remova a chave pública do par de chaves de um cliente.

* ``oauth2:jwt:create``Crie um novo JWT para um determinado cliente. Este JWT será usado por um
* ``oauth2:jwt:create`` Crie um novo JWT para um determinado cliente. Este JWT será usado por um
   conexão oauth2 solicitando um grant_type para ``urn:ietf:params:oauth:grant-type:jwt-bearer``.
A criação do JWT coloca a chave pública do pedido de conexão oauth2 nas tabelas OAuth2.

Expand Down
2 changes: 1 addition & 1 deletion zf-oauth2-doctrine.rst
Expand Up @@ -2,8 +2,8 @@ zf-oauth2-doctrine
==================

Este módulo fornece um adaptador Doctrine para [zfcampus/zf-mvc-auth](https://github.com/zfcampus/zf-mvc-auth) and [zfcampus/zf-oauth2](https://github.com/zfcampus/zf-oauth2)
and entity definitions for all aspects of OAuth2 including Authorization Code, Access Tokens, Refresh Tokens, JWT & JTI, and Scopes.
e definições de entidade para todos os aspectos do OAuth2 incluindo Authorization Code, Access Tokens, Refresh Tokens, JWT & JTI, and Scopes.

A ferramenta [Skipper](https://skipper18.com) é fornecido para incorporar no seu Diagrama Entidade-Relacionamento.

.. toctree::
Expand Down
16 changes: 8 additions & 8 deletions zf-oauth2-doctrine/application configuration.rst
@@ -1,22 +1,22 @@
Application Configuration
==========================
Configuração da aplicação
=========================


Installation
------------
Instalação
----------

Installation of this module uses composer. For composer documentation, please refer to `getcomposer.org <http://getcomposer.org/>`_.
A instalação deste módulo usa composer. Para documentação de referência consulte `getcomposer.org <http://getcomposer.org/>`_::

``composer require api-skeletons/zf-oauth2-doctrine "^1.0"``

Add this module to your application's configuration::
Adicione este módulo à configuração de sua aplicação::

'modules' => [
...
'ZF\OAuth2\Doctrine',
],

Global Configuration
Configuração Global
--------------------

Copy ``config/oauth2.doctrine-orm.global.php.dist`` to your autoload directory and
Expand All @@ -25,7 +25,7 @@ adapters. Out of the box this module provides a `default` adapter. You will ne
at least your User entity, which is not provided.


zfcampus/zf-mvc-auth Configuration
Configuração zfcampus/zf-mvc-auth
----------------------------------

By default this module includes a `oauth2.doctrineadapter.default` adapter.
Expand Down
28 changes: 14 additions & 14 deletions zf-oauth2-doctrine/erd.rst
@@ -1,5 +1,5 @@
Entity Relationship Diagram
===========================
Diagrama de Entidade Relacionamento
===================================

.. image:: https://raw.githubusercontent.com/API-Skeletons/zf-oauth2-doctrine/master/media/oauth2-doctrine-erd.png

Expand All @@ -10,23 +10,23 @@ The ERD module is located at
and is intended to be embedded in the ERD for your project.


Relations
---------
Relações
--------

The User entity is provided by your application and a dynamic join is made at runtime when the metadata is gathered for Doctrine. There is a dynamic join with Client, AuthorizationCode, AccessToken and RefreshToken.
A entidade do usuário é fornecida pelo seu aplicativo e uma junção dinâmica é feita em tempo de execução quando os metadados são coletados pelo Doctrine. Existe uma união dinâmica com Client, AuthorizationCode, AccessToken and RefreshToken.

The central OAuth2 entity is the Client. There is a dynamic join from the Client entity to the configured User entity. For every application owned by a User there will be a Client entry. The User referenced from a Client is the User who owns that Client.
A entidade central OAuth2 é o Client. Existe uma associação dinâmica da entidade Client à entidade de usuário configurada. Para cada aplicativo de um Usuário, haverá uma entrada de Client. O Usuário referenciado a partir de um Client é o Usuário que possui esse Client.

The AuthorizationCode entity is used when a User connects from an application using OAuth2. The reference to the User entity from the AuthorizationCode entity is for the User that is trying to log into the Client referenced from the AuthorizationCode entity. The same is true for the AccessToken and RefreshToken entities.
A entidade AuthorizationCode é usada quando um Usuário se conecta a partir de um aplicativo usando OAuth2. A referência à entidade de usuário da entidade AuthorizationCode é para o Usuário que está tentando fazer logon no Client referenciado pela entidade AuthorizationCode. O mesmo acontece com as entidades AccessToken e RefreshToken.

The Scope entities are many to many relationships for Client, AuthorizationCode, AccessToken and RefreshToken. Scopes dictate what permissions a Client has into the API.
As entidades Scope tem a relação de muitos para muitos para Client, AuthorizationCode, AccessToken e RefreshToken. Scopes determina quais permissões um cliente tem na API.

There is a one to one relationship from Client to PublicKey. This is because the encryption side of OAuth2 is less common and to encapsulate the encryption fields into the PublicKey entity. The JWT and JTI entities provide full support and their use in encryption falls outside the scope of this documentation.
Existe um relacionamento de um para um do Client para o PublicKey. Isso ocorre porque o lado de criptografia do OAuth2 é menos comum e encapsulam os campos de criptografia na entidade PublicKey. As entidades JWT e JTI oferecem suporte total e seu uso na criptografia ficando de fora do escopo desta documentação.


Database Table Namespaces
-------------------------
Namespaces das tabelas do banco de dados
----------------------------------------

All OAuth2 tables are suffixed with _OAuth2 such as Client_OAuth2. You can change these if you :ref:`override`.
It is recommended your database table names match your entity names to provide canonical naming across your application.
See also `bushbaby/zf-oauth2-doctrine-mutatetablenames <https://github.com/basz/zf-oauth2-doctrine-mutatetablenames>`_.
Todas as tabelas OAuth2 são sufixadas com _OAuth2, como Client_OAuth2. Você pode alterá-los :ref:`override`.
Recomenda-se que seus nomes de tabela de banco de dados correspondam aos nomes de sua entidade para fornecer nomes canônicos em sua aplicação.
Veja também `bushbaby/zf-oauth2-doctrine-mutatetablenames <https://github.com/basz/zf-oauth2-doctrine-mutatetablenames>`_.
14 changes: 7 additions & 7 deletions zf-oauth2-doctrine/events.rst
@@ -1,14 +1,14 @@
Events
======
Eventos
=======


Events are fully supported. Return values are used if propagation is stopped allowing you to
write your own handlers for any OAuth2 Adapter method. Each function which implements
the OAuth2 interfaces may be attached to and optionally overridden.
Os eventos são totalmente suportados. Os valores de retorno são usados se a propagação for interrompida permitindo que você
escreva seus próprios manipuladores para qualquer método de adaptador OAuth2. Cada função que implementa
as interfaces OAuth2 podem ser atachadas e opcionalmente substituídas.


Example Event Attachment
------------------------
Exemplo para atachar evento
---------------------------

*Module.php onBootstrap*::

Expand Down
19 changes: 9 additions & 10 deletions zf-oauth2-doctrine/index.rst
@@ -1,41 +1,40 @@
OAuth2 Adapter
==============
Adaptador OAuth2
================

`api-skeletons/zf-oauth2-doctrine <https://github.com/api-skeletons/zf-oauth2-doctrine>`_


This module provides a Doctrine adapter for `zfcampus/zf-mvc-auth <https://github.com/zfcampus/zf-mvc-auth>`_
and `zfcampus/zf-oauth2 <https://github.com/zfcampus/zf-oauth2>`_
and entity definitions for all aspects of OAuth2 including Authorization Code, Access Tokens, Refresh Tokens, JWT & JTI, and Scopes.
Este módulo fornece um adaptador Doctrine para [zfcampus/zf-mvc-auth](https://github.com/zfcampus/zf-mvc-auth) and [zfcampus/zf-oauth2](https://github.com/zfcampus/zf-oauth2)
e definições de entidade para todos os aspectos do OAuth2 incluindo Authorization Code, Access Tokens, Refresh Tokens, JWT & JTI, e Scopes.

A `Skipper <https://skipper18.com>`_ module is provided to embed in your Entity Relationship Diagram.
A ferramenta [Skipper](https://skipper18.com) é fornecido para incorporar no seu Diagrama Entidade-Relacionamento.

.. toctree::
:caption: About

erd

.. toctree::
:caption: Configuration
:caption: Configuração

application configuration
module configuration
user entity configuration

.. toctree::
:caption: Integration
:caption: Integração

events
integration

.. toctree::
:caption: Advanced
:caption: Avançado

override
multiple

.. toctree::
:caption: Add Ons
:caption: Extras

add-ons

Expand Down
10 changes: 5 additions & 5 deletions zf-oauth2-doctrine/integration.rst
@@ -1,9 +1,9 @@
zf-doctrine-apigility Integration
=================================

Validate zf-apigility-doctrine resources
----------------------------------------
Validar recursos para zf-apigility-doctrine
-------------------------------------------

To validate the OAuth2 session with Query Create Filters and Query Providers implement
``ZF\OAuth2\Doctrine\OAuth2ServerInterface`` and use ``ZF\OAuth2\Doctrine\OAuth2ServerTrait``.
Then call ``$result = $this->validateOAuth2($scope);`` in the filter function.
Para validar a sessão com ``Query Create Filters`` e ``Query Providers`` implement
``ZF\OAuth2\Doctrine\OAuth2ServerInterface`` e use ``ZF\OAuth2\Doctrine\OAuth2ServerTrait``.
Em seguida faça uma chamada ``$result = $this->validateOAuth2($scope);`` na função de filtro.
44 changes: 24 additions & 20 deletions zf-oauth2-doctrine/module configuration.rst
@@ -1,30 +1,34 @@
Module Configuration
====================
Configuração do módulo
======================


Using Default Entities
----------------------
Usando Entidades Padronizadas
-----------------------------

Details for creating your database with the included entities are outside the scope of this project.
Generally this is done through `doctrine/doctrine-orm-module <https://github.com/doctrine/DoctrineORMModule>`_
with ``php public/index.php orm:schema-tool:create``
Os detalhes para criar seu banco de dados com as entidades incluídas estão fora do escopo deste projeto.
Geralmente isso é feito através de `doctrine/doctrine-orm-module <https://github.com/doctrine/DoctrineORMModule>`_
com ``php public/index.php orm:schema-tool:create``

By default this module uses the entities provided but you may use the adapter with your own entites
(and map them in the mapping config section) by toggling this flag::
Por padrão, este módulo usa as entidades fornecidas, mas você pode usar o adaptador com seus próprios
(e mapeá-los na seção de configuração de mapeamento) perceba que existe uma configuração que usa esta funcionalidade::

'zf-oauth2-doctrine' => [
'default' => [
'enable_default_entities' => true,


Customizing Many to One Mapping
-------------------------------
Personalizando o mapeamento de muitos para um (n <= 1)
------------------------------------------------------

If you need to customize the call to mapManyToOne, which creates the dynamic joins to the User
entity from the default entites, you may add any parameters to the
``['dynamic_mapping']['default_entity']['additional_mapping_data']`` element. An example for a
User entity with a primary key of user_id which does not conform to the metadata naming strategy
is added to each entity::

Se você precisa personalizar usando mapManyToOne, que cria as assossiações dinâmicas para UserEntity padrão,
você pode adicionar estes parametros ao elemento ``['dynamic_mapping']['default_entity']['additional_mapping_data']``.

Um exemplo para um
Entidade de usuário com uma chave primária de user_id que não está em conformidade com a estratégia de nomeação de metadados
é adicionado a cada entidade::

'refresh_token_entity' => [
'entity' => 'ZF\OAuth2\Doctrine\Entity\RefreshToken',
Expand All @@ -40,14 +44,14 @@ is added to each entity::
],


Identity field on User entity
-----------------------------
Campo de identidade na entidade de usuário
------------------------------------------

By default this Doctrine adapter retrieves the user by the `username` field on the configured
User entity. If you need to use a different or multiple fields you may do so via the
``auth_identity_fields`` key. For example, ZfcUser allows users to authenticate by username and/or email fields.
or padrão, este adaptador Doctrine recupera o usuário pelo `username` no campo configurado
na entidade de Usuário. Se você precisar usar um ou vários campos diferentes, você pode fazê-lo através do elemento
``auth_identity_fields``. Por exemplo, o ZfcUser permite aos usuários autenticar por campos de nome de usuário e / ou email.

An example to match ZfcUser ``auth_identity_fields`` configuration::
Um exemplo para combinar ZfcUser ``auth_identity_fields`` a configuração::

'zf-oauth2-doctrine' => [
'default' => [
Expand Down
19 changes: 9 additions & 10 deletions zf-oauth2-doctrine/user entity configuration.rst
@@ -1,15 +1,14 @@
User Entity Configuration
=========================
Configuração de entidade de usuário
===================================

Este repositório fornece todas as entidades que você precisa para implementar OAuth2
exceto a entidade de usuário. A razão é para que a entidade do usuário possa ser
desacoplado do repositório do OAuth2 Doctrine em vez disso para ser vinculado
dinamicamente em tempo de execução. Isso permite, entre outros benefícios, a capacidade
para criar um ERD sem modificar o módulo 'OAuth2-orm.module.xml`.

This repository supplies every entity you need to implement OAuth2
except the User entity. The reason is so the User entity can be
decoupled from the OAuth2 Doctrine repository instead to be linked
dynamically at run time. This allows, among other benefits, the ability
to create an ERD without modifying the `OAuth2-orm.module.xml` module.
A entidade do usuário deve implementar ``ZF\OAuth2\Doctrine\Entity\UserInterface``

The User entity must implement ``ZF\OAuth2\Doctrine\Entity\UserInterface``

The User entity for the unit test for this module is a good template to start from:
A entidade de usuário para o teste de unidade para este módulo é um bom modelo para começar a partir de:
`https://github.com/api-skeletons/zf-oauth2-doctrine/blob/master/test/asset/module/Doctrine/src/Entity/User.php <https://github.com/api-skeletons/zf-oauth2-doctrine/blob/master/test/asset/module/Doctrine/src/Entity/User.php>`_

0 comments on commit bfe6892

Please sign in to comment.