External Login (Google, Facebook, Twitter) ইন্টিগ্রেশন

Authentication এবং Authorization - এএসপি ডট (ASP.Net) - Web Development

664

External Login বা Third-party Authentication হলো একটি সিস্টেম যেখানে ইউজাররা তাদের Google, Facebook, Twitter, অথবা অন্যান্য তৃতীয় পক্ষের অ্যাকাউন্ট ব্যবহার করে লগইন করতে পারে। এটি ব্যবহারকারীদের সাইন আপ এবং লগইন প্রক্রিয়াকে আরও দ্রুত এবং সহজ করে তোলে। ASP.Net Core এ, External Login এর ইন্টিগ্রেশন খুবই সহজ এবং এটি OAuth 2.0 বা OpenID Connect প্রোটোকল ব্যবহার করে তৃতীয় পক্ষের সেবা প্রদানকারীদের সাথে সংযুক্ত হয়।

এটি মূলত Identity সিস্টেমের অংশ হিসেবে কাজ করে, এবং ASP.Net Core Identity এর মাধ্যমে খুব সহজে গুগল, ফেসবুক, টুইটার ইত্যাদি পরিষেবার মাধ্যমে লগইন ইন্টিগ্রেট করা যায়।


External Login এর জন্য কী প্রয়োজন?

  • OAuth 2.0 বা OpenID Connect প্রোটোকল সমর্থনকারী তৃতীয় পক্ষের সেবা (যেমন: Google, Facebook, Twitter)।
  • আপনার ASP.Net Core অ্যাপ্লিকেশনে Identity সিস্টেম কনফিগার করা।
  • API Key এবং Secret (যা আপনি তৃতীয় পক্ষের ডেভেলপার কনসোল থেকে পাবেন)।

ASP.Net Core তে External Login কিভাবে ইন্টিগ্রেট করবেন?

এই প্রক্রিয়াটি কয়েকটি প্রধান ধাপ অনুসরণ করে সম্পন্ন হয়।


১. Google Authentication ইন্টিগ্রেশন

Google Developer Console থেকে API Key এবং Secret তৈরি করুন

  1. Google Developer Console এ যান: https://console.developers.google.com/
  2. একটি নতুন Project তৈরি করুন।
  3. APIs & Services থেকে OAuth consent screen কনফিগার করুন।
  4. Credentials এ গিয়ে OAuth 2.0 Client IDs তৈরি করুন এবং Redirect URI হিসেবে https://localhost:5001/signin-google (আপনার অ্যাপ্লিকেশনের URL অনুযায়ী) দিন।
  5. Client ID এবং Client Secret কপি করুন।

ASP.Net Core অ্যাপ্লিকেশনে Google Authentication কনফিগার করা

  1. NuGet প্যাকেজ ইনস্টল করুন:
    • Microsoft.AspNetCore.Authentication.Google
  2. Startup.cs ফাইলে Google Authentication কনফিগার করুন:
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddAuthentication()
            .AddGoogle(options =>
            {
                options.ClientId = "your-client-id"; // আপনার Google Client ID
                options.ClientSecret = "your-client-secret"; // আপনার Google Client Secret
            });

        services.AddControllersWithViews();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseAuthentication(); // Authentication Middleware ব্যবহার করতে হবে
        app.UseAuthorization();
    }
}
  1. LoginController তৈরি করুন যেখানে ব্যবহারকারী গুগল দিয়ে লগইন করতে পারবে:
public class AccountController : Controller
{
    public IActionResult Login(string returnUrl = null)
    {
        return Challenge(new AuthenticationProperties { RedirectUri = returnUrl ?? "/" }, "Google");
    }

    [HttpPost]
    public async Task<IActionResult> Logout()
    {
        await HttpContext.SignOutAsync();
        return RedirectToAction(nameof(HomeController.Index), "Home");
    }
}
  1. Login View এ Google login বাটন যোগ করুন:
<a href="/Account/Login">Login with Google</a>

কনফিগারেশন সম্পন্ন হলে, ইউজার গুগল অ্যাকাউন্ট দিয়ে লগইন করতে পারবে।


২. Facebook Authentication ইন্টিগ্রেশন

Facebook Developer Console থেকে API Key এবং Secret তৈরি করুন

  1. Facebook Developer Console এ যান: https://developers.facebook.com/
  2. একটি নতুন App তৈরি করুন।
  3. Facebook Login পণ্য সক্রিয় করুন।
  4. App Dashboard থেকে App ID এবং App Secret কপি করুন।

ASP.Net Core অ্যাপ্লিকেশনে Facebook Authentication কনফিগার করুন

  1. NuGet প্যাকেজ ইনস্টল করুন:
    • Microsoft.AspNetCore.Authentication.Facebook
  2. Startup.cs ফাইলে Facebook Authentication কনফিগার করুন:
public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication()
        .AddFacebook(options =>
        {
            options.AppId = "your-app-id"; // আপনার Facebook App ID
            options.AppSecret = "your-app-secret"; // আপনার Facebook App Secret
        });

    services.AddControllersWithViews();
}
  1. LoginController এবং View তৈরির পর, ব্যবহারকারী Facebook দিয়ে লগইন করতে পারবেন।

৩. Twitter Authentication ইন্টিগ্রেশন

Twitter Developer Console থেকে API Key এবং Secret তৈরি করুন

  1. Twitter Developer Console এ যান: https://developer.twitter.com/
  2. একটি নতুন App তৈরি করুন।
  3. API Key এবং API Secret Key কপি করুন।

ASP.Net Core অ্যাপ্লিকেশনে Twitter Authentication কনফিগার করুন

  1. NuGet প্যাকেজ ইনস্টল করুন:
    • Microsoft.AspNetCore.Authentication.Twitter
  2. Startup.cs ফাইলে Twitter Authentication কনফিগার করুন:
public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication()
        .AddTwitter(options =>
        {
            options.ConsumerKey = "your-consumer-key"; // আপনার Twitter Consumer Key
            options.ConsumerSecret = "your-consumer-secret"; // আপনার Twitter Consumer Secret
        });

    services.AddControllersWithViews();
}
  1. LoginController এবং View তৈরির পর, ব্যবহারকারী Twitter দিয়ে লগইন করতে পারবেন।

৪. নোটস এবং নিরাপত্তা

  • Redirect URI অবশ্যই তৃতীয় পক্ষের সেবায় সঠিকভাবে কনফিগার করতে হবে (যেমন: /signin-google, /signin-facebook, /signin-twitter)।
  • Callback URL এর জন্য নির্দিষ্ট একটি URL প্রদান করুন যা লগইন সফল হলে ব্যবহারকারীকে রিডিরেক্ট করবে।
  • HTTPS ব্যবহার করতে ভুলবেন না, বিশেষ করে ইউজারের সুরক্ষিত তথ্য ট্রান্সমিট করার সময়।

সারাংশ

ASP.Net Core এ External Login (যেমন Google, Facebook, Twitter) ইন্টিগ্রেশন একটি সহজ প্রক্রিয়া, যা ইউজারদের তৃতীয় পক্ষের অ্যাকাউন্ট দিয়ে অ্যাপ্লিকেশনে লগইন করার সুবিধা দেয়। আপনি OAuth 2.0 প্রোটোকল ব্যবহার করে বিভিন্ন সেবা প্রদানকারীদের সঙ্গে অ্যাপ্লিকেশন ইন্টিগ্রেট করতে পারবেন, যা ইউজারের জন্য আরও নিরাপদ এবং সহজ লগইন প্রক্রিয়া নিশ্চিত করে।

Content added By
Promotion

Are you sure to start over?

Loading...