Şu anda DotNetOpenAuth CTP sürümünü kullanan bir OAuth2 yetkilendirme sunucusu geliştiriyorum. Yetkilendirme sunucum asp.net MVC3'te ve kütüphane tarafından sağlanan örneğe dayanıyor. Uygulama, kullanıcının tüketici istemcisine yetki verdiği noktaya ulaşıncaya kadar her şey iyi çalışıyor. Orada yetkilendirme işleminin ilgilenir benim OAuth Kontrolörün içinde bir eylem olduğunu ve numunedeki eşdeğer eylem çok benzerPrepareResponse() AsActionResult() desteklenmeyen özel durumu atar DotNetOpenAuth CTP
:
this.authorizationServer.Channel.PrepareResponse(response).AsActionResult();
:
[Authorize, HttpPost, ValidateAntiForgeryToken]
public ActionResult AuthorizeResponse(bool isApproved)
{
var pendingRequest = this.authorizationServer.ReadAuthorizationRequest();
if (pendingRequest == null)
{
throw new HttpException((int)HttpStatusCode.BadRequest, "Missing authorization request.");
}
IDirectedProtocolMessage response;
if (isApproved)
{
var client = MvcApplication.DataContext.Clients.First(c => c.ClientIdentifier == pendingRequest.ClientIdentifier);
client.ClientAuthorizations.Add(
new ClientAuthorization
{
Scope = OAuthUtilities.JoinScopes(pendingRequest.Scope),
User = MvcApplication.LoggedInUser,
CreatedOn = DateTime.UtcNow,
});
MvcApplication.DataContext.SaveChanges();
response = this.authorizationServer.PrepareApproveAuthorizationRequest(pendingRequest, User.Identity.Name);
}
else
{
response = this.authorizationServer.PrepareRejectAuthorizationRequest(pendingRequest);
}
return this.authorizationServer.Channel.PrepareResponse(response).AsActionResult();
}
Program her bu satırı ulaştığında
Sistem, hiçbir araştırma yapmadan başarılı olduğum bir istisna atar. Bunun istisnası şöyledir: Sadece parametreli olmayan kurucular ve başlatıcılar LINQ'dan Entities'e desteklenir.
Yığın izleme: http://pastebin.com/TibCax2t
ben örnekten farklı yaptığım tek şey bir I örnek varlıkları autogenerated bir tasarımcı kullanılarak yapıldı düşünüyorum varlık çerçevenin kod ilk yaklaşımı kullanılır olmasıdır.
Önceden teşekkür ederiz.
Bunu anladınız mı? Aynı problemi alıyorum. – fuzz