2014-10-19 11 views
5

(Android) mobil uygulamasında bir Restful Web API'si oluşturdum ve şimdi API'ya erişimi güvence altına almaya çalışıyorum. Bu konu hakkında bir hafta boyunca okuyordum ve tüm spektrumu aldım - Https (SSL) 'nin yeterli olduğunu söyleyenlere bir Restful API'sinin güvence altına alınmasının imkansız olduğunu söyleyenlerden.OAuth (OAuth2) ASP.NET REST Web API'sı (Self host - windows hizmeti) uygulaması

Burada bir tartışmaya başlamak istemiyorum. OAuth veya OAuth2 ile anlaştım, farketmez (OAuth okuduğum kadarıyla daha iyi bir seçim gibi görünüyor, ancak Microsoft öğreticilerde OAuth 2'yi kullanın, bu yüzden burada oldukça kafam karıştı) ve evet tamamen farklı olduklarını biliyorum, ama ben de kabul ettiğimden çok hayal kırıklığına uğradım (bunu çok daha kolay bir şekilde çıkardığımı itiraf etmeliyim). Dediğim gibi, yaklaşık bir hafta aradım ve sahip olduğum her şey kavramlar (birçoğu). Bazı verileri gönderirsiniz - sunucuya genellikle kullanıcı adı/parola, verileriniz işleniyor ve bir geri dönüş işareti alıyorsunuz - sihirli durma -. SO üzerinde bu konuda birçok soru var ama cevapların çoğu görülmemiş (ve ne yazık ki ulaşılamaz). Örneğin, bu bir How to secure WEB API, güzel cevaplar aldım, ama onları gerçekten kullanmam ya da bu bir Implement Web API with OAuth and a Single Page Application. Ayrıca, Microsoft öğreticilerden örnekler aldım, ancak kodda çok fazla yük var ve OAuth ile ilgili kısım oldukça açık değil (ki bu tümüyle OAuth hakkında olması gerektiği için talihsiz bir durum). Bu konu hakkında konuştuğunu iddia eden tonlarca bağlantı yayınlayabilirdim, ama aslında hiçbir yardımda bulunmuyorlar.

Aradığım şey, ASP.NET OAuth (2) uygulamasının basit, çok basit bir örneğidir. Fiddler ile kullanabiliyorsam, üstbilgide bir kullanıcı adı/parola sağladığım ve grant_type: xxx kullanımı ile harika olurdu (izin verilen kullanıcı adı/parola projenin içinde kodlanmış olabilir, bu nedenle Varlığa gerek yok çerçeve uygulaması veya arka uçtaki herhangi bir veritabanı. Birisi, kullanıcıya bu yetkilendiriciyi nasıl kullanacağını bana açıklamak için bana açıklayabilirse harika olurdu (bende Denetleyici işlevlerini [Authorize] özniteliğiyle belirtmem gerekiyor, ancak bu belirteci nasıl ve nerede yapılıyor?) . Ama ben ekleme hakkında

+0

Aynı yolda yürüyorum ve şimdi takılıyorum. Kodunuzu bir yerle paylaşırsanız ve yaptığınız yolla tekrar yürürken beni kurtarır mısınız? –

+0

özür dilerim. Sorunu çözdünüz mü? – user3466562

cevap

6
İşte

olduğunu detailed post

sayesinde Asp.Net Web Api iç OAuth'un fiilen uygulanması için arıyorum burada, ihtiyacım yok, OAuth hakkında herhangi teoriyi sonrası etmeyiniz Web API projeniz için kaynak sahibi şifre kimlik bilgileri akışı.

+0

Merhaba, kendim hallettim. Cevabınız için teşekkürler, baktığımda hala kullanabileceğim bazı şeyler var gibi görünüyor. – user3466562

2

burada bulabilirsiniz Web API projesinde OAuth2'ye en basit uygulama:

sadece iki önemli dosya vardır:

  • Startup.cs (ile ayarlar)
  • AuthorizationServerProvider.cs (oauth2 kullanan kullanıcıların yetkilendirmesi)
İlgili konular