ASP.NET Core Uygulamasına Facebook Girişi Ekleme
ASP.NET Core uygulamanıza Facebook girişi eklemek, kullanıcıların Facebook hesaplarını kullanarak uygulamanıza giriş yapmalarını sağlamanın kolay bir yoludur. Bu, kullanıcı deneyimini iyileştirebilir ve uygulamanızın daha erişilebilir olmasını sağlayabilir.
1. Facebook Uygulaması Oluşturma
İlk adım, Facebook Geliştirici Konsolu’nda bir Facebook uygulaması oluşturmaktır. Bunu yapmak için şu adımları izleyin:
- Facebook Geliştirici Konsolu’na gidin: https://developers.facebook.com/
- “Uygulama Oluştur” düğmesine tıklayın.
- Uygulama adınızı ve kategorinizi girin.
- “Uygulama Oluştur” düğmesine tekrar tıklayın.
2. Uygulama Kimlik Bilgilerinizi Alın
Uygulamanız oluşturulduktan sonra, uygulama kimlik bilgilerinizi almanız gerekir. Bunlar, uygulamanızın Facebook ile iletişim kurmak için kullanacağı kimlik bilgileridir. Uygulama kimlik bilgilerinizi almak için şu adımları izleyin:
- Facebook Geliştirici Konsolu’nda uygulamanıza gidin.
- “Ayarlar” sekmesine tıklayın.
- “Temel Ayarlar” bölümünde, “Uygulama Kimliği” ve “Uygulama Sırrı” alanlarını bulun.
- Bu değerleri bir yere not edin.
3. ASP.NET Core Uygulamanıza Facebook Girişi Ekleme
ASP.NET Core uygulamanıza Facebook girişi eklemek için şu adımları izleyin:
- ASP.NET Core projenizi açın.
Startup.cs
dosyasını açın.- Aşağıdaki kod satırlarını
ConfigureServices
metoduna ekleyin:
csharp
services.AddAuthentication()
.AddFacebook(facebookOptions =>
{
facebookOptions.AppId = "YOUR_APP_ID";
facebookOptions.AppSecret = "YOUR_APP_SECRET";
});
- Aşağıdaki kod satırlarını
Configure
metoduna ekleyin:
csharp
app.UseAuthentication();
app.UseAuthorization();
4. Facebook Girişi Sayfası Oluşturma
Kullanıcıların Facebook hesaplarını kullanarak giriş yapabilecekleri bir sayfa oluşturmanız gerekir. Bu sayfa, Facebook’a yönlendirmek için bir bağlantı içermelidir. Sayfayı oluşturmak için şu adımları izleyin:
- ASP.NET Core projenizde yeni bir Razor sayfası oluşturun.
- Sayfanın
cshtml
dosyasını açın. - Aşağıdaki kod satırlarını sayfaya ekleyin:
html
<a href="@Url.Action("ExternalLogin", "Account", new { provider = "Facebook" })">Facebook ile Giriş Yap</a>
5. Dış Giriş İşleyicisi Oluşturma
Kullanıcılar Facebook hesaplarını kullanarak giriş yaptığında, ASP.NET Core uygulamanızın bu girişleri işleyebilmesi gerekir. Bunu yapmak için bir dış giriş işleyicisi oluşturmanız gerekir. İşleyiciyi oluşturmak için şu adımları izleyin:
- ASP.NET Core projenizde yeni bir sınıf oluşturun.
- Sınıfı
IE的外登录处理程序
arayüzünden türetin. - Aşağıdaki kod satırlarını sınıfa ekleyin:
“`csharp
public class FacebookLoginHandler : IExternalLoginHandler
{
private readonly UserManager
private readonly SignInManager
public FacebookLoginHandler(UserManager<ApplicationUser> userManager, SignInManager<ApplicationUser> signInManager)
{
_userManager = userManager;
_signInManager = signInManager;
}
public async Task<ExternalLoginInfo> GetExternalLoginInfoAsync(string loginProvider, string providerKey)
{
// Facebook'tan kullanıcı bilgilerini alın.
var info = await _signInManager.GetExternalLoginInfoAsync(loginProvider, providerKey);
if (info == null)
{
throw new InvalidOperationException("External login information not found.");
}
return info;
}
public async Task<SignInResult> SignInAsync(ExternalLoginInfo info, bool isPersistent)
{
// Kullanıcıyı Facebook hesabıyla giriş yapmış olarak işaretleyin.
var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent);
if (result.Succeeded)
{
// Kullanıcıyı uygulamaya yönlendirin.
return SignInResult.Success;
}
else
{
// Kullanıcıyı uygulamaya yönlendirmeyin.
return SignInResult.Failed;
}
}
}
“`
6. Dış Giriş İşleyicisini Kaydetme
Dış giriş işleyicisini ASP.NET Core uygulamanıza kaydetmeniz gerekir. Bunu yapmak için şu adımları izleyin:
Startup.cs
dosyasını açın.- Aşağıdaki kod satırlarını
ConfigureServices
metoduna ekleyin:
csharp
services.AddSingleton<IExternalLoginHandler, FacebookLoginHandler>();
7. Uygulamayı Çalıştırma
ASP.NET Core uygulamanızı çalıştırın ve Facebook giriş sayfasına gidin. Facebook hesabınızla giriş yapmayı deneyin. Giriş başarılı olursa, uygulamaya yönlendirileceksiniz.