Pergunta

Existem recursos recomendados para implementar um provedor de associação personalizado que usa oAuth? O objetivo seria ter os usuários a entrar em minha aplicação ASP.NET MVC usando suas credenciais do OAuth existentes. Depois que o usuário é autenticado, eu tinha então, como para alavancar a recursos internos de autorização ASP.NET.

Graças.

Foi útil?

Solução

Eu não sei o que você está procurando OAuth.

OAuth é para a delegação de autorização, através do uso de tokens. Dependendo do que você está fazendo você tem dois cenários quer:

  1. O aplicativo quer usar alguns dos dados de usuários, hospedado por um provedor (digamos Twitter ou Google). Caso em que a sua aplicação seria um consumidor - em suma, o usuário precisaria log-in e concordar em autorizar o aplicativo para ter acesso aos seus dados do provedor, e você seria dado um token de acesso que pode ser usado para ter acesso a esses recursos protegidos.
  2. Como alternativa, você tem um aplicativo, com os usuários que têm log-ins etc. E você quiser fornecer (ou seja, você é o provedor) acesso a algumas informações restritas de seus usuários para aplicações 3rd party (consumidores) sem expor o seu usuários credenciais para esses serviços.

Para mais informações sobre OAuth - confira o site OAuth.Net . Atualmente 3 implementações do OAuth disponível para .Net.

Por causa das obras maneira OAuth, eu realmente não posso imaginar como você poderia ter um "OAuth" provedor de associação - é realmente destinado a garantir API de, e muitas vezes o objetivo é delegar autorização em um nível mais granular ou seja, dando um acesso ao aplicativo consumidor apenas os dados do catálogo de endereços de usuários, sem deixá-los arquivos de e-mail de acesso, seu calendário etc -. que não se encaixam bem com um modelo de segurança baseado em assinaturas / papel

Eu estou supondo que você está procurando realmente é OpenId ou seja, a maneira como você se autenticar com a própria Stackoverflow. Gostaria de sugerir a leitura do estudo Stackoverflow OpenId caso aqui e provavelmente o melhor OpenId implementação para Net é atualmente faz parte do DotNetOpenAuth projeto (este foi formalmente chamado DotNetOpenId, o google local de código para o projeto é aqui ).

Outras dicas

Eu acho que você pode estar procurando DotNetOpenAuth . Eu nunca usei isso, então eu não posso dizer com certeza se ele inclui um provedor de associação, mas eu esperaria que ele faz. Se não, é open source, por isso deve ajudá-lo com o que você está tentando fazer de qualquer maneira.

Você deve dar uma olhada https://github.com/rustd/ASPNETTemplates que tem o padrão modelos de projeto para asp.net que demonstram o registo em usar o OAuth e, em seguida, estender os fornecedores universais (webforms modelo, mas você pode fazer o mesmo para MVC) para fazer papéis etc

As bibliotecas têm vindo a longo caminho desde que você postou esta pergunta ... eu comecei a usar esta biblioteca para Oauth - que já implementou Facebook, Twitter, PayPal e Google + integração:

OAuth2 Logins social - Facebook, Google, Twitter, PayPal - ASP.NET MVC C # biblioteca de código aberto

Além disso, se compatibilidade com versões anteriores não é problema para você, a Microsoft começou a apoiar os prestadores de OAuth populares ... veja este artigo:

integração Microsoft OAuth2 Owin / Katana com o Facebook e Google+

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top