Haza - Cikk - Részletek

Hogyan kell használni a lombikot vagy palackot SAML-lel?

James Miller
James Miller
James egy iparági recenzens, aki gyakran értékeli a Nawas Thermos Cups -t. Nagyra értékeli a vállalat radiátor K + F tapasztalatának és a Thermos Cup gyártásának kombinációját, és gyakran megosztja objektív áttekintéseit a különböző platformokon.

A SAML vagy a Security Assertion Markup Language egy nyílt szabvány a hitelesítési és engedélyezési adatok felek közötti cseréjére, különösen a webalapú egyszeri bejelentkezés (SSO) kontextusában. A SAML integrálása olyan webes keretrendszerekkel, mint a Flask vagy Bottle, jelentősen javíthatja alkalmazásai biztonságát és felhasználói élményét. Lombik és palack szállítójaként azért vagyok itt, hogy végigvezessem Önt ezen keretrendszerek SAML-lel való használatán.

A SAML alapjainak megismerése

Mielőtt belemerülne az integrációs folyamatba, elengedhetetlen, hogy megértse a SAML alapfogalmait. A SAML három résztvevős modell szerint működik: a szolgáltató (SP), az identitásszolgáltató (IdP) és a felhasználó. Az SP az az alkalmazás, amely hitelesítést igényel, míg az IdP felelős a felhasználó személyazonosságának ellenőrzéséért. Amikor a felhasználó megpróbál hozzáférni egy védett erőforráshoz az SP-n, az SP átirányítja a felhasználót az IdP-hez hitelesítés céljából. Miután az IdP ellenőrzi a felhasználó azonosságát, egy SAML-igazolást küld vissza az SP-nek, amely ezután hozzáférést biztosít a felhasználónak a kért erőforráshoz.

Előfeltételek

Az SAML és a Flask vagy Bottle integrálásához a következőkre lesz szüksége:

  1. Lombik vagy palack alkalmazás.
  2. SAML-azonosító szolgáltató (IdP). Használhat kereskedelmi IdP-t, mint például az Okta vagy a OneLogin, vagy beállíthatja a sajátját nyílt forráskódú megoldások, például a Shibboleth segítségével.
  3. Apython3-samlkönyvtár, amely a SAML protokoll Python megvalósítását biztosítja.

A SAML integrálása a lombikba

Kezdjük a SAML és a Flask alkalmazás integrálásával. Először telepítse apython3-samlkönyvtár pip használatával:

pip telepítése python3-saml

Ezután hozzon létre egy Flask alkalmazást, és konfigurálja a SAML-beállításokat. Íme egy példa:

lombikból import Lombik, átirányítás, kérés innen: onelogin.saml2.auth import OneLogin_Saml2_Auth from onelogin.saml2.utils import OneLogin_Saml2_Utils app = Flask(__name__) def init_saml_auth(req): auth = OneLogin_re,_Sam custom_base_path='saml_config') return auth def preparat_flask_request(request): return { 'https': 'on' if request.scheme == 'https' else 'off', 'http_host': request.host, 'server_port': request.environ_], request. 'get_data': request.args.copy(), 'post_data': request.form.copy() } @app.route('/') def index(): req = előkészíti_flask_request(request) auth = init_saml_auth(req) return redirect(auth.login()')=Pac. acs(): req = preparat_flask_request(request) auth = init_saml_auth(req) auth.process_response() errors = auth.get_errors() ha nem hibák: return 'A hitelesítés sikeresen!' else: return 'A hitelesítés sikertelen: {}'.format(', '.join(errors)) if __name__ == '__main__': app.run(debug=True)

Ebben a példában a/A route átirányítja a felhasználót az IdP-hez hitelesítés céljából. A/acsAz útvonal az Assertion Consumer Service (ACS) végpontja, amely megkapja az SAML-érvényesítést az IdP-től, és feldolgozza azt.

SAML integrálása palackkal

A SAML integrálása palackalkalmazással hasonló a Flask integrációhoz. Először telepítse apython3-samlkönyvtárba, ha még nem tetted meg. Ezután hozzon létre egy Bottle alkalmazást, és konfigurálja a SAML-beállításokat. Íme egy példa:

palack importból Palack, átirányítás, kérés a onelogin.saml2.auth webhelyről import OneLogin_Saml2_Auth from onelogin.saml2.utils import OneLogin_Saml2_Utils app = Bottle() def init_saml_auth(req): auth = OneLogin_Saml2_Au custom_base_path='saml_config') return auth def preparat_bottle_request(request): return { 'https': 'on' if request.url.startswith('https') else 'off', 'http_host': request.host, 'server_port': request.environ'_name'('SER'_8') request.path, 'get_data': request.query.dict, 'post_data': request.forms.dict } @app.route('/') def index(): req = preparat_bottle_request(request) auth = init_saml_auth(req) return redirect(auth.loginroute'))=ac def. acs(): req = preparat_bottle_request(request) auth = init_saml_auth(req) auth.process_response() errors = auth.get_errors() if not errors: return 'A hitelesítés sikeresen!' else: return 'A hitelesítés sikertelen: {}'.format(', '.join(errors)) if __name__ == '__main__': app.run(debug=True)

Ebben a példában a/route átirányítja a felhasználót az IdP-hez hitelesítés céljából, és a/acsútvonal feldolgozza a SAML-állítást.

A SAML beállítások konfigurálása

A SAML beállítások egy konfigurációs fájlban tárolódnak. Hozzon létre egy nevű könyvtáratsaml_configa projekt gyökérben, és hozzon létre egy nevű fájltsettings.jsonbenne. Íme egy példa konfiguráció:

{ "strict": true, "debug": true, "sp": { "entityId": "https://your-app.com/metadata", "assertionConsumerService": { "url": "https://your-app.com/acs", "binding": "urn:oasis:names:tc:binding,2:HTTP:S "singleLogoutService": { "url": "https://your-app.com/slo", "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" }, "NameIDFormat": "urn:oasis:names:tc:SAML-ed:1.1:cer:unidiform", "", "privateKey": "" }, "idp": { "entityId": "https://your-idp.com/metadata", "singleSignOnService": { "url": "https://your-idp.com/sso", "binding": "urn:oasis:names::tc:SA,Redirect" "singleLogoutService": { "url": "https://your-idp.com/slo", "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" }, "x509cert": "------BEGIN CERTIFICATE----------------------------------------- } }

Cserélje ki az URL-címeket és a tanúsítványinformációkat a tényleges értékekre.

Stainless Steel Insulated Coffee Pot suppliersStainless Steel Insulated Coffee Pot factory

A SAML lombikkal vagy palackkal való használatának előnyei

A SAML lombikkal vagy palackkal való integrálása számos előnnyel jár:

  1. Fokozott biztonság: A SAML biztonságos módot biztosít a felhasználók hitelesítésére digitális aláírások és titkosítás használatával.
  2. Egyszeri bejelentkezés (SSO): A felhasználók egyetlen hitelesítési adatkészlettel több alkalmazásba is bejelentkezhetnek, ami javítja a felhasználói élményt.
  3. Központosított identitáskezelés: A SAML lehetővé teszi a felhasználói identitások központi helyről történő kezelését, megkönnyítve az alkalmazásokhoz való hozzáférés szabályozását.

Következtetés

Az SAML és a Flask vagy Bottle integrálása egy egyszerű folyamat, amely jelentősen javíthatja alkalmazásai biztonságát és felhasználói élményét. Lombik és palack beszállítóként biztosíthatom a szükséges támogatást és erőforrásokat a zökkenőmentes integráció biztosításához. Ha érdeklődik Lombik vagy Palack termékeink vásárlása iránt, vagy ha bármilyen kérdése van a SAML integrációval kapcsolatban, kérjük,vegye fel velünk a kapcsolatot a részletes megbeszélés érdekében.

Kapcsolódó termék

Ha Ön is kiváló minőségű szigetelt konténereket keres, nézze meg nálunkRozsdamentes acél szigetelt kávéfőző. Tökéletes arra, hogy italait hosszabb ideig melegen vagy hidegen tartsa.

Hivatkozások

  • OneLogin Python SAML könyvtári dokumentáció
  • Lombik dokumentációja
  • Palack dokumentációja
  • SAML specifikáció

A szálláslekérdezés elküldése

Népszerű blogbejegyzések