Primeiro vou esboçar meu projeto:
Para o meu estágio, preciso adicionar funcionalidade a um sistema existente. Um cliente de terceiros deve poder acessar dados dos serviços da Web do AX depois de autorizado pelo usuário pelo OAuth2. Entendo que preciso criar um 'serviço da Web proxy' para que o cliente possa fazer suas chamadas e que chame os serviços do AX, mas estou um pouco inseguro sobre a parte do OAuth2. A maioria dos tutoriais e guias trata do uso do Identity do ASP.NET para logins do Facebook ou do Google. Não preciso disso, preciso usar credenciais existentes, portanto, preciso criar meu próprio serviço OAuth2.
Acho difícil encontrar tutoriais, guias ou explicações sobre isso. Entendo o OAuth2 e o que precisa ser feito, mas nunca fiz isso antes e acho difícil começar. A coisa mais próxima do que eu preciso é que encontrei esse link de repositório do github , mas a solução não foi criada.
O que eu tinha em mente era criar um site ASP.NET MVC onde clientes (terceiros) podem se registrar e adquirir seus IDs de cliente. Com a API do ASP.NET, eu queria criar a API que usasse os tokens e parâmetros necessários e, em seguida, acesse os serviços do Dyn AX.
Isso está correto ou estou totalmente errado? Qualquer ajuda ou link sobre a criação de seu próprio servidor / serviço oauth2 seria bom.
Respostas:
Há um brilhante post no blog de Taiseer Joudeh com uma descrição detalhada passo a passo.
fonte
Authentication
. Eu posso fazer tudo o que eu quero, como obter / postar / colocar / excluir.Também lutei para encontrar artigos sobre como gerar apenas a parte do token. Eu nunca encontrei um e escrevi o meu. Então, se ajudar:
As coisas a fazer são:
Microsoft.Owin
Microsoft.Owin.Host.SystemWeb
Microsoft.Owin.Security.OAuth
Microsoft.AspNet.Identity.Owin
startup
classe OWINEm seguida, crie um
index.js
arquivo HTML e JavaScript ( ) com este conteúdo:A
startup
classe OWIN deve ter este conteúdo:Execute seu projeto. O token deve ser exibido no pop-up.
fonte
Microsoft ASP.NET Identity Owin
entra em jogo? Você está usando o ASP.NET Identity para autenticação do usuário? Caso contrário, este pacote NuGet ainda é necessário?app.UseOAuthBearerTokens(OAuthOptions);
não funcionará semMicrosoft ASP.NET Identity Owin
. Não reconhece o métodoUseOAuthBearerTokens
.Estou pesquisando a mesma coisa e me deparei com o servidor de identidade que implementa OAuth e OpenID no topo do ASP.NET. Ele se integra à identidade do ASP.NET e à Reinicialização de associação, com suporte persistente ao Entity Framework.
Portanto, para responder sua pergunta, consulte o documento detalhado sobre como configurar um servidor OAuth e OpenID .
fonte
Gmail: OAuth
Client ID
eSecret ID
. Por fim, clique em OK para fechar as credenciais.Google API
. Clique em Visão geral no painel esquerdo.Google API
seção APIs sociais.Isso é tudo da parte do Google.
Volte para o seu aplicativo, abra
App_start/Startup.Auth.cs
e remova o comentário do seguinte trechoAtualize os valores das credenciais que você já criou
ClientId
eClientSecret
com os valoresGoogle API
.Gmail
ID.Gmail
ID no banco de dados do aplicativo.fonte
Why punish that effort?
Talvez o SO precise de uma maneira de sinalizar uma resposta como desalinhada à pergunta do OP. Ou para permitir que os usuários sugiram que seja movido para uma pergunta mais apropriada ... ou para criar uma nova pergunta a partir da resposta.