বেসিক অথেন্টিকেশন সহ HTTP রিকুয়েস্ট প্রেরণ

Elm:
বেসিক অথেন্টিকেশন সহ HTTP রিকুয়েস্ট প্রেরণ

কিভাবে:

Http প্যাকেজ ব্যবহার করে Elm HTTP অনুরোধ পাঠায়। বেসিক অথ্ যোগ করতে, আপনি পরিচয়পত্রগুলোকে এনকোড করে এবং অনুরোধের শিরোনামগুলোতে সংযুক্ত করেন।

import Http
import Base64

type alias Model = { ... }
type Msg = HttpRequestCompleted (Result Http.Error String)

-- ব্যবহারকারীর নাম এবং পাসওয়ার্ড এনকোড করুন
basicAuthHeader : String -> String -> Http.Header
basicAuthHeader username password =
    let
        credentials = username ++ ":" ++ password
        encodedCredentials = Base64.encode credentials
    in
    Http.header "Authorization" ("Basic " ++ encodedCredentials)

-- HTTP অনুরোধ পাঠান
sendRequestWithBasicAuth : Cmd Msg
sendRequestWithBasicAuth =
    let
        url = "https://example.com/protected/resource"
        request =
            Http.request
                { method = "GET"
                , headers = [ basicAuthHeader "myUsername" "myPassword" ]
                , url = url
                , body = Http.emptyBody
                , expect = Http.expectString (HttpRequestCompleted)
                , timeout = Nothing
                , tracker = Nothing
                }
    in
    Http.send HttpRequestCompleted request

উপরের ফাংশান ডাকা হলে, Elm নির্দিষ্ট URL-এ এনকোডেড ব্যবহারকারীর নাম এবং পাসওয়ার্ড সেট করা অনুমতি শিরোনামের সাথে GET অনুরোধ সম্পাদন করবে।

গভীর তলাশ

HTTP অনুরোধের প্রতি Elm এর আসলেই ভাষার সার্বিক দর্শনের প্রতিফলন: নিরাপদ, রক্ষণাবেক্ষণ সহজ, এবং বোঝার যোগ্য। Http প্যাকেজটি Elm আর্কিটেকচারের সাথে অনুরোধগুলি পরিপূরক করে।

বেসিক অথেনটিকেশন হলো ওয়েবের প্রাচীনতম অংশ, মৌলিক HTTP স্পেসিফিকেশনের (RFC 7617) অংশ। এটি সরল তবে খুব নিরাপদ নয় কারণ পরিচয়পত্রগুলো শুধুমাত্র বেস64 এনকোড করা হয়েছে, এনক্রিপ্ট করা হয়নি। তাই, ট্রান্সমিটেশন এনকোড করতে HTTPS ব্যবহার করা জরুরি।

বেসিক অথেনটিকেশনের বিকল্প অন্তর্ভুক্ত হলো OAuth, টোকেনের মতো JWT, অথবা API কী, প্রতিটি বাড়তি জটিলতা এবং উন্নতি করা নিরাপত্তা নিয়ে আসে। Elm এই পদ্ধতিগুলি সমর্থন করে তবে প্রায়শই অতিরিক্ত প্যাকেজ বা কাস্টম এনকোডার এবং ডিকোডার প্রয়োজন হয়।

দেখুন ও