.NET কোর আইডেন্টিটি সার্ভার 4 প্রমাণীকরণ ভিএস আইডেন্টিটি প্রমাণীকরণ


93

আমি এএসপি.নেট কোরটিতে প্রমাণীকরণের সঠিক উপায়টি বোঝার চেষ্টা করছি। আমি বেশ কয়েকটি রিসোর্স দেখেছি (যার বেশিরভাগ তারিখই শেষ)।

কিছু লোক ক্লাউড ভিত্তিক সমাধান যেমন অ্যাজুর এডি ব্যবহার করতে বা আইডেন্টিটি সার্ভার 4 ব্যবহার করতে এবং আমার নিজস্ব টোকেন সার্ভার হোস্ট করার উদ্দেশ্যে পরিবর্তিত সমাধান সরবরাহ করে।

.NET এর পুরানো সংস্করণে প্রমাণীকরণের সহজতম ফর্মগুলির মধ্যে একটি হ'ল একটি কাস্টম আইপ্রিনীতি তৈরি করা এবং ভিতরে অতিরিক্ত প্রমাণীকরণের ব্যবহারকারী ডেটা সংরক্ষণ করা।

public interface ICustomPrincipal : System.Security.Principal.IPrincipal
{
    string FirstName { get; set; }

    string LastName { get; set; }
}

public class CustomPrincipal : ICustomPrincipal
{
    public IIdentity Identity { get; private set; }

    public CustomPrincipal(string username)
    {
        this.Identity = new GenericIdentity(username);
    }

    public bool IsInRole(string role)
    {
        return Identity != null && Identity.IsAuthenticated && 
           !string.IsNullOrWhiteSpace(role) && Roles.IsUserInRole(Identity.Name, role);
    }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public string FullName { get { return FirstName + " " + LastName; } }
}

public class CustomPrincipalSerializedModel
{
    public int Id { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }
}

তারপরে আপনি কোনও কুকিতে আপনার ডেটা সিরিয়ালাইজ করবেন এবং ক্লায়েন্টকে এটি ফিরিয়ে দিন।

public void CreateAuthenticationTicket(string username) {     

    var authUser = Repository.Find(u => u.Username == username);  
    CustomPrincipalSerializedModel serializeModel = new CustomPrincipalSerializedModel();

    serializeModel.FirstName = authUser.FirstName;
    serializeModel.LastName = authUser.LastName;
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    string userData = serializer.Serialize(serializeModel);

    FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
    1,username,DateTime.Now,DateTime.Now.AddHours(8),false,userData);
    string encTicket = FormsAuthentication.Encrypt(authTicket);
    HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
    Response.Cookies.Add(faCookie);
}

আমার প্রশ্নগুলি হ'ল:

  1. পূর্ববর্তী সংস্করণটির .Net পুরানো পদ্ধতিটি এখনও কাজ করে বা এর চেয়ে আরও নতুন সংস্করণ রয়েছে similar

  2. আপনার নিজস্ব কাস্টম নীতি তৈরি করে নিজের টোকেন সার্ভার শ্লোকগুলি ব্যবহার করার পক্ষে কি কি?

  3. ক্লাউড ভিত্তিক সমাধান বা একটি পৃথক টোকন সার্ভার ব্যবহার করার সময় আপনি কীভাবে এটি আপনার বর্তমান অ্যাপ্লিকেশনটির সাথে একীভূত করবেন, আমার অ্যাপ্লিকেশনটিতে এখনও কি আমার ব্যবহারকারীর টেবিলের প্রয়োজন হবে আপনি কীভাবে দুজনকে সংযুক্ত করবেন?

  4. অন্যান্য এসএসও-তে প্রসারিত করতে সক্ষম হয়েও আমি জিএমএল / ফেসবুকের মাধ্যমে লগইনকে অনুমতি দেওয়ার জন্য কীভাবে একটি এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরি করতে পারি তার অনেকগুলি বিভিন্ন সমাধান রয়েছে

  5. এই প্রযুক্তির কিছু সাধারণ বাস্তবায়ন কি কি?

এই প্রশ্নটি অত্যন্ত বিস্তৃত এবং উচ্চ মতামত ভিত্তিক। অনেকগুলি সম্ভাব্য উত্তর রয়েছে বা ভাল উত্তরগুলি এই ফর্ম্যাটটির জন্য খুব দীর্ঘ be উত্তর সেটটি সংকীর্ণ করতে বা কয়েকটি অনুচ্ছেদে উত্তর দেওয়া যায় এমন একটি সমস্যা আলাদা করতে দয়া করে বিশদ যুক্ত করুন। অনেক ভাল প্রশ্ন বিশেষজ্ঞের অভিজ্ঞতার ভিত্তিতে কিছুটা মতামত তৈরি করে, তবে এই প্রশ্নের উত্তরগুলি তথ্য, তথ্যসূত্র বা নির্দিষ্ট দক্ষতার চেয়ে প্রায় পুরোপুরি মতামতের উপর ভিত্তি করে হয়ে থাকে।
Nkosi

@ নোকসী দুঃখিত, কথাটি এইভাবে ছিল that আমি এটিকে আরও নির্দিষ্ট করে স্পষ্ট করে জানিয়েছি
জননি 5

উত্তর:


146

টিএল; ডিআর

আইডেন্টিটি সার্ভার = টোকেন এনক্রিপশন এবং বৈধকরণ পরিষেবাগুলি OAuth 2.0 / ওপেনআইডি-কানেক্টের মাধ্যমে

এএসপি.এনইটি পরিচয় = এএসপি.নেটে বর্তমান পরিচয় পরিচালনা কৌশল

পূর্ববর্তী সংস্করণটির .Net পুরানো পদ্ধতিটি এখনও কাজ করে বা এর চেয়ে আরও নতুন সংস্করণ রয়েছে similar

আপনি এএসপি.নেট কোরটিতে পুরানো পথটি কেন অর্জন করতে পারেন তার কোনও কারণ আমি দেখতে পাচ্ছি না, তবে সাধারণভাবে, সেই কৌশলটি এএসপি.নেট পরিচয় দ্বারা প্রতিস্থাপন করা হয়েছিল, এবং এএসপি.নেট পরিচয়টি এএসপি.নেট কোরে জীবিত এবং ভাল।

https://docs.microsoft.com/en-us/aspnet/core/secures/authentication/ident

এএসপি.এনইটি পরিচয় ব্যবহারকারীর নাম, পাসওয়ার্ড (হ্যাশ), ইমেল, ফোন এবং সহজেই ফার্স্টনাম, লাস্টনাম বা অন্য যে কোনও কিছু ধরে রাখতে প্রসারিত করার জন্য এসকিউএল সার্ভারের মতো একটি ব্যাকিং স্টোর ব্যবহার করে। সুতরাং, কোনও কুকির মধ্যে ব্যবহারকারীর তথ্য এনক্রিপ্ট করার এবং ক্লায়েন্ট থেকে সার্ভারে পিছনে পিছনে পাস করার কোনও কারণ নেই। এটি ব্যবহারকারীর দাবী, ব্যবহারকারী টোকেন, ব্যবহারকারীর ভূমিকা এবং বাহ্যিক লগইনগুলির মত ধারণাকে সমর্থন করে। এএসপি.নেট পরিচয়ের সত্তা এখানে রইল:

  • অ্যাসপনেট ব্যবহারকারীরা
  • অ্যাসপনেট ইউজাররোলস
  • AspNetUserClaims
  • AspNetUserLogins (গুগল, এএডি এর মতো বাহ্যিক পরিচয় সরবরাহকারীদের সংযোগ দেওয়ার জন্য)
  • AspNetUserTokens (ব্যবহারকারীর দ্বারা অ্যাক্সেস_ টোকেন এবং রিফ্রেশ_ টোকেনের মতো জিনিস সংরক্ষণের জন্য)

আপনার নিজস্ব কাস্টম নীতি তৈরি করে নিজের টোকেন সার্ভার শ্লোকগুলি ব্যবহার করার পক্ষে কি কি?

টোকেন সার্ভারটি এমন একটি সিস্টেম হবে যা অনুমোদনের এবং / অথবা প্রমাণীকরণের তথ্য সম্বলিত একটি সাধারণ ডেটা স্ট্রাকচার তৈরি করে। অনুমোদন সাধারণত টোকেন নামের অ্যাক্সেস_ টোকেন গ্রহণ করে । এটি "বাড়ির চাবি" হবে, তাই কথা বলার জন্য, আপনাকে দ্বার দিয়ে এবং সুরক্ষিত সংস্থান, সাধারণত একটি ওয়েব এপিআইয়ের বাসভবনে প্রবেশ করতে দেয়। প্রমাণীকরণের জন্য, id_tokenএতে ব্যবহারকারীর / ব্যক্তির জন্য একটি অনন্য শনাক্তকারী রয়েছে। অ্যাক্সেস_ টোকেনে এই জাতীয় পরিচয়দানকারী রাখা সাধারণ, যদিও এখন এটি করার জন্য একটি ডেডিকেটেড প্রোটোকল রয়েছে: ওপেনআইডি-কানেক্ট

আপনার নিজস্ব সুরক্ষা টোকন পরিষেবা (এসটিএস) থাকার কারণ হ'ল ক্রিপ্টোগ্রাফির মাধ্যমে আপনার তথ্য সম্পদগুলি রক্ষা করা এবং কোন ক্লায়েন্ট (অ্যাপ্লিকেশন) এই সংস্থানগুলিতে অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করা। তদ্ব্যতীত, সনাক্তকরণ নিয়ন্ত্রণের মান এখন ওপেনআইডি-সংযোগের নির্দিষ্টকরণে বিদ্যমান। আইডেন্টিটি সার্ভার ওপেনআইডি-কানেক্ট প্রমাণীকরণ সার্ভারের সাথে মিলিত একটি OAuth 2.0 অনুমোদন সার্ভারের একটি উদাহরণ।

তবে আপনি যদি আপনার অ্যাপ্লিকেশনটিতে কেবল একটি ব্যবহারকারীর টেবিল চান তবে এর কোনও প্রয়োজন নেই। আপনার টোকেন সার্ভারের দরকার নেই - কেবল এএসপি.নেট পরিচয় ব্যবহার করুন। এএসপি.এনইটি পরিচয় আপনার ব্যবহারকারীকে সার্ভারের একটি দাবি আইডেন্টিটি অবজেক্টে ম্যাপ করে - কাস্টম আইপিআরসিস্ট্যানাল ক্লাসের প্রয়োজন নেই।

ক্লাউড ভিত্তিক সমাধান বা একটি পৃথক টোকন সার্ভার ব্যবহার করার সময় আপনি কীভাবে এটি আপনার বর্তমান অ্যাপ্লিকেশনটির সাথে একীভূত করবেন, আমার অ্যাপ্লিকেশনটিতে এখনও কি আমার ব্যবহারকারীর টেবিলের প্রয়োজন হবে আপনি কীভাবে দুজনকে সংযুক্ত করবেন?

একটি অ্যাপ্লিকেশন সহ পৃথক পরিচয় সমাধান সংহত করার জন্য এই টিউটোরিয়ালগুলি দেখুন: https://identityserver4.readthedocs.io/en/latest/quickstarts/0_overview.html https://auth0.com/docs/quickstart/webapp/aspnet-core

সর্বনিম্ন আপনাকে বাহ্যিক সরবরাহকারীর ব্যবহারকারী শনাক্তকারীকে ব্যবহারকারীর নাম ম্যাপ করার জন্য একটি দুটি কলামের টেবিলের প্রয়োজন হবে। AspNetUserLogins টেবিলটি এএসপি.নেট সনাক্তকরণে এটি করে। সেই টেবিলের সারিগুলি এসপনেট ব্যবহারকারীদের ব্যবহারকারী রেকর্ড হওয়ার উপর নির্ভরশীল।

এএসপি.এনইটি আইডেন্টিটি গুগল, মাইক্রোসফ্ট, ফেসবুক, যে কোনও ওপেনআইডি-সংযোগ সরবরাহকারী, অ্যাজুরে এডি ইতিমধ্যে রয়েছে এমন বাহ্যিক সরবরাহকারীদের সমর্থন করে। (গুগল এবং মাইক্রোসফ্ট ইতিমধ্যে ওপেনআইডি-সংযোগ প্রোটোকল কার্যকর করেছে যাতে আপনার তাদের নিজস্ব কাস্টম ইন্টিগ্রেশন প্যাকেজগুলির প্রয়োজন হয় না, উদাহরণস্বরূপ , এর মতো )। এছাড়াও, এএসএফএস এখনও এএসপি.এনইটি কোর পরিচয় উপলভ্য নয়।

এএসপি.নেট পরিচয় বহিরাগত সরবরাহকারীদের সাথে শুরু করতে এই ডকটি দেখুন:

https://docs.microsoft.com/en-us/aspnet/core/secures/authentication/social/

অন্যান্য এসএসও-তে প্রসারিত করতে সক্ষম হয়েও আমি জিএমএল / ফেসবুকের মাধ্যমে লগইনকে অনুমতি দেওয়ার জন্য কীভাবে একটি এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরি করতে পারি তার অনেকগুলি বিভিন্ন সমাধান রয়েছে

উপরে বর্ণিত হিসাবে, এএসপি.এনইটি পরিচয় ইতিমধ্যে এটি করে। "বাহ্যিক সরবরাহকারী" টেবিল এবং ডেটা আপনার বাহ্যিক লগইন প্রক্রিয়া চালিত করা মোটামুটি সহজ। সুতরাং যখন কোনও নতুন "এসএসও" বরাবর আসে, কেবল সরবরাহকারীর ইউআরএল, ক্লায়েন্টের আইডি এবং গোপনীয় তারা আপনাকে দেয় এমন বৈশিষ্ট্যগুলির সাথে একটি নতুন সারি যুক্ত করুন। ASP.NET পরিচয় ইতিমধ্যে সেখানে ভিজ্যুয়াল স্টুডিও টেম্পলেটগুলিতে ইউআই নির্মিত হয়েছে, তবে শীতল বোতামগুলির জন্য সামাজিক লগইন দেখুন ।

সারসংক্ষেপ

আপনার যদি কেবল পাসওয়ার্ড সাইন ইন করার ক্ষমতা এবং ব্যবহারকারীর প্রোফাইল সহ একটি ব্যবহারকারীর টেবিলের প্রয়োজন হয় তবে এএসপি.এনইটি পরিচয় সঠিক। বাহ্যিক কর্তৃপক্ষকে জড়িত করার দরকার নেই। তবে, যদি অনেক অ্যাপ্লিকেশনগুলিতে অনেকগুলি এপিআইএস অ্যাক্সেসের প্রয়োজন হয়, তবে পরিচয় এবং অ্যাক্সেস টোকেনগুলি সুরক্ষিত ও বৈধ করার জন্য একটি স্বাধীন কর্তৃপক্ষের অর্থ উপলব্ধি হয়ে যায়। আইডেন্টিটি সার্ভার একটি ভাল ফিট, বা ক্লাউড সমাধানের জন্য ওপেনডিক্টিক্ট-কোর , বা অ্যাথ0 ​​দেখুন

আমার ক্ষমাপ্রার্থী হ'ল এটি চিহ্নটিকে আঘাত করছে না বা এটি খুব প্রারম্ভিক হলে। আপনি খুঁজছেন ষাঁড়ের দৃষ্টিতে বিনা দ্বিধায় যোগাযোগ করুন।

সংযোজন: কুকি প্রমাণীকরণ

কুকিজ সহ খালি হাড়ের প্রমাণীকরণ করতে, এই পদক্ষেপগুলি অনুসরণ করুন। তবে, আমার জ্ঞান অনুসারে একটি কাস্টম দাবী অধ্যক্ষ সমর্থিত নয়। একই প্রভাব অর্জন করতে, ClaimPrincipalঅবজেক্টটির দাবি তালিকাটি ব্যবহার করুন ।

কথোপকথনে "কোনও প্রমাণীকরণ নেই" চয়ন করে ভিজ্যুয়াল স্টুডিও 2015/2017 এ একটি নতুন এএসপি.নেট কোর 1.1 ওয়েব অ্যাপ্লিকেশন তৈরি করুন। তারপরে প্যাকেজ যুক্ত করুন:

Microsoft.AspNetCore.Authentication.Cookies

Configureপদ্ধতির অধীনে এটি Startup.cs(আগে app.UseMvc):

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationScheme = "MyCookieMiddlewareInstance",
    LoginPath = new PathString("/Controller/Login/"),
    AutomaticAuthenticate = true,
    AutomaticChallenge = true
});

তারপরে একটি লগইন ইউআই তৈরি করুন এবং এইচটিএমএল ফর্মটি এই জাতীয় একটি ক্রিয়া পদ্ধতিতে পোস্ট করুন:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(String username, String password, String returnUrl = null)
{
    ViewData["ReturnUrl"] = returnUrl;
    if (ModelState.IsValid)
    {
        // check user's password hash in database
        // retrieve user info

        var claims = new List<Claim>
        {
            new Claim(ClaimTypes.Name, username),
            new Claim("FirstName", "Alice"),
            new Claim("LastName", "Smith")
        };

        var identity = new ClaimsIdentity(claims, "Password");

        var principal = new ClaimsPrincipal(identity);

        await HttpContext.Authentication.SignInAsync("MyCookieMiddlewareInstance", principal);

        return RedirectToLocal(returnUrl);
    }

    ModelState.AddModelError(String.Empty, "Invalid login attempt.");

    return View();
}

HTTPContext.User অবজেক্টে আপনার কাস্টম দাবী থাকা উচিত এবং সহজেই দাবিদার প্রিন্সিপালের তালিকা সংগ্রহটি পুনরুদ্ধারযোগ্য।

আমি আশা করি এটি একটি পর্যাপ্ত সমাধান / প্রকল্প হিসাবে স্ট্যাকওভারফ্লো পোস্টের জন্য যথেষ্ট মনে হচ্ছে suff


4
দয়া করে
মূলতে

4
ASP.NET কোর দস্তাবেজগুলি ক্যানোনিকাল উদাহরণটি দেখায়: ডকস.মাইক্রোসফটকম / en-us / aspnet / core / security / authentication/…
travis.js

আপনি যদি দয়া করে প্রমাণীকরণের একটি সাধারণ উদাহরণ পোস্ট করতে পারেন। একটি লিঙ্ক বের করে যাতে লোকেরা অ্যাক্সেস করার জন্য একটি সংস্থান রাখে, আমি কীভাবে আইডেন্টিটি
সার্ভার 4

আইডেন্টিটি সার্ভারের জন্য, এটির কী উদাহরণ রয়েছে যা আপনি খুঁজছেন: পরিচয়দাতা 4.readthedocs.io/en/dev/quickstarts/… ?
travis.js

এএসপি.এনইটি পরিচয়ের জন্য এর উদাহরণ নেই, বা আপনি যা বলছেন তা পুরানো? ডকস.মাইক্রোসফট.এইন
ইউএস /

11

টিএল; ডিআর

আমি কীভাবে আইডেন্টিটি সার্ভার 4 যথাযথভাবে প্রয়োগ করতে পারি তার জন্য একটি সম্পূর্ণ পোস্ট দেখাতে চাই তবে আমি সমস্ত পাঠ্যই মাপসই করার চেষ্টা করেছি তবে স্ট্যাকওভারফ্লো কী গ্রহণ করে তার সীমা ছাড়িয়ে যায় তাই পরিবর্তে আমি কিছু টিপস এবং জিনিস আমি শিখেছি right

টোকন সার্ভার বনাম এএসপি পরিচয় ব্যবহারের সুবিধা কী কী?

একটি টোকেন সার্ভার, এর অনেক উপকার রয়েছে তবে এটি সবার জন্য সঠিক নয়। যদি আপনি সমাধানের মতো কোনও উদ্যোগ বাস্তবায়ন করেন, যেখানে আপনি একাধিক ক্লায়েন্ট লগইন করতে সক্ষম হন, টোকন সার্ভারটি আপনার সেরা বেট, তবে আপনি যদি কেবল একটি বাহ্যিক লগইন সমর্থন করতে চান এমন একটি সাধারণ ওয়েবসাইট তৈরি করেন তবে আপনি এএসপি পরিচয় দিয়ে দূরে যেতে পারেন এবং কিছু মিডলওয়্যার

পরিচয় সার্ভার 4 টিপস

আমি দেখেছি এমন অনেকগুলি ফ্রেমওয়ার্কের তুলনায় আইডেন্টিটি সার্ভার 4 বেশ ভাল ডকুমেন্টেড তবে এটি স্ক্র্যাচ থেকে শুরু করে পুরো ছবিটি দেখতে বেশ কঠিন।

আমার প্রথম ভুলটি ওআউথকে প্রমাণীকরণ হিসাবে ব্যবহার করার চেষ্টা করছিল, হ্যাঁ, এমন করার উপায় আছে তবে ওআউথ অনুমোদনের জন্য অনুমোদন নয়, আপনি যদি ওপেনআইডকনেক্ট (OIDC) ব্যবহার করতে চান তবে

আমার ক্ষেত্রে আমি একটি জাভাস্ক্রিপ্ট ক্লায়েন্ট তৈরি করতে চেয়েছিলাম, যিনি একটি ওয়েব এপিআইয়ের সাথে সংযোগ স্থাপন করেন। আমি অনেকগুলি সমাধানের দিকে নজর দিয়েছি, তবে প্রাথমিকভাবে আমি ওয়েবপিটি আইডেন্টিটি সার্ভারের বিরুদ্ধে প্রমাণীকরণ কল করতে ব্যবহার করার চেষ্টা করেছি এবং সার্ভারের বিরুদ্ধে এটি যাচাই করা হওয়ায় কেবল সেই টোকেনটি অবিচল থাকবে। এই প্রবাহটি সম্ভবত কাজ করতে পারে তবে এতে প্রচুর ত্রুটি রয়েছে।

পরিশেষে যথাযথ প্রবাহ যখন আমি জাভাস্ক্রিপ্ট ক্লায়েন্টের নমুনা পেয়েছি তখন আমি সঠিক প্রবাহ পেয়েছি। আপনি ক্লায়েন্ট লগ ইন এবং একটি টোকেন সেট। তারপরে আপনার ওয়েব এপিআই ওআইডিসি ক্লায়েন্টকে গ্রাস করেছে, যা যাচাই করবে যে আপনি আইডেন্টিটি সার্ভারের বিপরীতে টোকেন অ্যাক্সেস করছেন।

স্টোর এবং মাইগ্রেশনগুলির সাথে সংযোগ স্থাপনের শুরুতে মাইগ্রেশনগুলির সাথে আমার প্রচুর ভুল ধারণা ছিল। আমার ধারণা ছিল যে মাইগ্রেশন চালানো অভ্যন্তরীণভাবে ডিল থেকে এসকিউএল জেনারেট করে, এসকিউএল কীভাবে তৈরি করবেন তা নির্ধারণের জন্য আপনি কনটেক্সট কনফিগার করেছেন ব্যবহার না করে।

আপনার কম্পিউটার কোনটি ব্যবহার করে তা জরুরী তা জানার জন্য মাইগ্রেশনগুলির জন্য দুটি বাক্য গঠন রয়েছে:

dotnet ef migrations add InitialIdentityServerMigration -c ApplicationDbContext

Add-Migration InitialIdentityServerDbMigration -c ApplicationDbContext

আমি মনে করি স্থানান্তরিত হওয়ার পরে প্যারামিটারটি নাম, আপনার একটি নাম কেন দরকার তা আমি নিশ্চিত নই, এটি ApplicationDbContextএকটি কোড-ফার্স্ট ডিবি কনটেক্সট যা আপনি তৈরি করতে চান।

আপনার প্রারম্ভটি কীভাবে কনফিগার করা হয়েছে তার থেকে আপনি সংযোগের স্ট্রিং খুঁজে পেতে মাইগ্রেশনগুলি কিছু অটো-ম্যাজিক ব্যবহার করে, আমি সবেমাত্র ধরে নিয়েছি যে এটি সার্ভার এক্সপ্লোরার থেকে কোনও সংযোগ ব্যবহার করেছে।

আপনার যদি একাধিক প্রকল্প থাকে তা নিশ্চিত করুন যে অ্যাপ্লিকেশনডবি কনটেক্সট দিয়ে আপনার প্রারম্ভ হিসাবে সেট রয়েছে।

অনুমোদন এবং প্রমাণীকরণ প্রয়োগ করার সময় অনেকগুলি চলনকারী অংশ রয়েছে, আশা করি, এই পোস্টটি কাউকে সহায়তা করেছে। প্রমাণীকরণগুলি বোঝার সহজতম উপায় হ'ল তাদের উদাহরণগুলি পৃথক করে আলাদা করে দেওয়া এবং আপনার ডকুমেন্টেশনটি পড়া নিশ্চিত করা


অ্যাড-মাইগ্রেশনের পরে নামটি হল আপনার প্রকাশনা / পরিবর্তনগুলি সম্পর্কিত রেফারেন্স। একই নামটি মাইগ্রেশন স্ক্রিপ্ট আপ এবং ডাউন যুক্ত করতে ব্যবহৃত হবে।
জয়

@ জায়ে সেই স্পষ্টতার জন্য ধন্যবাদ
5

আইডেন্টিটি সার্ভারের কনফিগারেশন ডিবি কনটেক্সটটি এখনও আইডেন্টিটিডিবি কনটেক্সট হিসাবে ভাল নয়। কাস্টম বাস্তবায়ন তৈরি করা একটি ব্যথা। আইডেন্টিটিসভার 4 এখন নতুন আপডেটগুলি প্রকাশের জন্য খুব বেশি সক্রিয় নয় বলে মনে হয় .কোর আপডেটগুলি।
জয়

3

এএসপি.নেট পরিচয় - এটি আপনার অ্যাপ্লিকেশনটিকে প্রমাণীকরণের উপায় যা এটি বেয়ারার বা বেসিক অথেনটিকেশন হোক না কেন এটি আমাদের ব্যবহারকারীর রেজিস্ট্রেশন, লগইন, পাসওয়ার্ড পরিবর্তন এবং সমস্ত কিছুর জন্য রেডিমেড কোড দেয়।

এখন বিবেচনা করুন আমাদের কাছে 10 টি আলাদা অ্যাপ্লিকেশন রয়েছে এবং সমস্ত 10 টি অ্যাপে একই জিনিস করা সম্ভব নয়। যে খুব ভঙ্গুর এবং খুব খারাপ অনুশীলন।

এই সমস্যাটি সমাধান করার জন্য আমরা যা করতে সক্ষম তা হ'ল আমাদের প্রমাণীকরণ এবং অনুমোদনের কেন্দ্রিককরণ তাই যখনই এর সাথে কোনও পরিবর্তন আমাদের 10 টি অ্যাপকে প্রভাবিত করবে না।

পরিচয় সার্ভার আপনাকে একই কাজ করার ক্ষমতা সরবরাহ করে। আমরা একটি নমুনা ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারি যা সনাক্তকরণ পরিষেবা হিসাবে সবেমাত্র ব্যবহৃত হয়েছে এবং এটি আপনার ব্যবহারকারীকে বৈধতা দেবে এবং কিছু জেডব্লিউটি অ্যাক্সেস টোকন সরবরাহ করবে।


2

আমি সর্বদা এএসপি.নেট আইডেন্টিটি (এবং পূর্বে সদস্যতা) অনুমোদন / প্রমাণীকরণে অন্তর্নির্মিত ব্যবহার করেছি, আমি সম্প্রতি এথথ 0 প্রয়োগ করেছি ( https://auth0.com ) এবং চেষ্টা করার মতো আরও কিছু হিসাবে এটির প্রস্তাব দিই ।


Auth0। নেট মূল উদাহরণটি বাস্তবায়নের জন্য বেশ দ্রুত এবং সহজ, তবে সমস্ত বৈশিষ্ট্য ব্যবহার করে মোটামুটি কাজের প্রয়োজন হয়, আমি প্রচুর বৈশিষ্ট্য সংহত করতে Auth0 বাস্তবায়ন করেছি এবং এটি ভাল কাজ করে, তবে এই সমস্ত জিনিসের মতোই এর প্রয়োজনীয়তাও রয়েছে একটি বিট কাজ এবং কিছু হতাশা।
রেডম্যান

যখন আমি একটি প্রমাণীকরণ ভালভাবে কাজ করি তখন আমি তার উপর গভীরতার উত্তর পোস্ট করব। আমি এই গত সপ্তাহে প্রমাণীকরণ উপর কাজ করেছি। আর কিছুই যেমন হওয়া উচিত
ততটুকু

0

সামাজিক লগইনগুলি সনাক্তকরণের সাথে কার্যকর করা শক্ত নয়, তবে কিছু প্রাথমিক সেটআপ জড়িত থাকে এবং কখনও কখনও আপনি ডক্সে অনলাইনে যে পদক্ষেপগুলি খুঁজে পান সেটি অভিন্ন হয় না, সাধারণত আপনি যে প্ল্যাটফর্মটি সেটআপ করার চেষ্টা করছেন সেটির বিকাশকারী বিভাগের অধীনে আপনি তার জন্য সহায়তা পেতে পারেন usually জন্য সামাজিক লগইন। পরিচয় হ'ল নেট ফ্রেমওয়ার্কের উত্তরাধিকার সংস্করণগুলিতে পাওয়া পুরানো সদস্যপদ কার্যকারিতাটির প্রতিস্থাপন। যা আমি অবাক করে দিয়েছি যে প্রান্ত ব্যবহারের কেসগুলি যেমন আপনি ইতিমধ্যে একটি ওয়েব এপিআইতে গেছেন তেমন কোনও উদাহরণ অনলাইনের উদাহরণে কোথাও কভার করা হয়নি hat এমনকি বহুবর্ষেও, আমি নিশ্চিত যে এটি করার জন্য আপনার নিজের টোকেন কর্তৃপক্ষের দরকার নেই তবে কোনও স্ব-হোস্ট করা সার্ভারের সাথে লেনদেনকারী নয় এমন কোনও গিটে বা পোস্টে ডেটা কীভাবে পাস করবেন তার একটি উদাহরণ আমি পাইনি।


সম্ভবত আপনি এই পর হয় docs.identityserver.io/en/release/quickstarts/...
জে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.