உள்ளடக்கத்துக்குச் செல்
KeuralDocs
டெவலப்பர்கள்

SSO·SCIM ஒருங்கிணைப்பு விவரக்குறிப்பு

OIDC·SAML 2.0·SCIM 2.0 ஒருங்கிணைப்புக்குத் தேவையான மதிப்புகளும் செயல்பாடுகளும்.

திரை அமைப்பு வரிசைக்கு SSO மற்றும் SCIM ஐப் பார்க்கவும்.

கீழே உள்ள அட்டவணையில் உள்ள {API} நீங்கள் பயன்படுத்தும் சூழலின் Keural API முகவரி (எ.கா. https://api.keural.ai). நிறுவன நிர்வாகம் → SSO அமைப்புகள் திரையில் காட்டப்படும் முகவரியை அப்படியே பயன்படுத்தவும்.

பதிவு மதிப்புகளின் சுருக்கம்

உருப்படிமதிப்பு
OIDC திசைதிருப்பல் URI{API}/api/sso/callback
OIDC·SAML உள்நுழைவைத் தொடங்குதல்{API}/api/sso/{orgId}/login
SAML SP EntityID{API}/api/sso/saml/metadata
SAML ACS URL{API}/api/sso/saml/callback
SCIM Base URL{API}/scim/v2

உள்நுழைவு எப்போதும் Keural பக்கத்திலிருந்தே தொடங்கும் (SP-initiated). உள்நுழைவுத் திரையில் பதிவு செய்யப்பட்ட டொமைனின் மின்னஞ்சலை உள்ளிட்டால், உள்நுழைவைத் தொடங்கும் முகவரிக்குச் செல்வீர்கள். வெற்றியடைந்தால் Keural முதல் திரைக்குத் திரும்பும். தோல்வியடைந்தால் /login?error=sso க்குச் செல்லும்.

OIDC

உருப்படிசெயல்பாடு
ஓட்டம்Authorization Code
authorize கோரிக்கைresponse_type=code, client_id, redirect_uri, scope=openid email profile, state, nonce
state · nonceஒருமுறை மட்டுமே பயன்படும்; 10 நிமிடங்கள் செல்லுபடியாகும். உள்நுழைவுச் சாளரத்தை 10 நிமிடங்களுக்கு மேல் திறந்து வைத்திருந்தால் முதலிலிருந்து மீண்டும் உள்நுழைய வேண்டும்.
token பரிமாற்றம்token endpoint க்கு POST, application/x-www-form-urlencoded; கிளையன்ட் அங்கீகாரம் client_secret_post (உடலில் client_id மற்றும் client_secret)
ID token கையொப்பம்RS256 மட்டுமே ஏற்கும். விசை jwks_uri இல் kid மூலம் தேடப்படும்.
ID token சரிபார்ப்புகையொப்பம், exp, aud இல் client_id இருத்தல், nonce பொருந்துதல், iss Issuer URL உடன் பொருந்துதல் (இறுதியில் உள்ள / பொருட்படுத்தப்படாது)
மின்னஞ்சல்ID token இல் உள்ள email claim. அது இல்லையெனில், Authorization: Bearer <access_token> உடன் userinfo endpoint அழைக்கப்பட்டு email படிக்கப்படும்.
பெயர்ID token இல் உள்ள name claim
endpointIssuer URL இல் /.well-known/openid-configuration இலிருந்து கண்டறியப்படும். கண்டறிய முடியாத IdP க்கு மேம்பட்ட அமைப்புகளைக் காட்டு மூலம் authorization · token · JWKS · userinfo முகவரிகளை நேரடியாக உள்ளிடலாம்.
நேர வரம்புIdP அழைப்பு ஒவ்வொன்றுக்கும் 15 வினாடிகள்

IdP பயன்பாடு client_secret_post ஐ அனுமதிக்க வேண்டும். அமைப்பு client_secret_basic அல்லது private_key_jwt ஐ மட்டும் அனுமதித்தால் token பரிமாற்றம் தோல்வியடையும்.

SAML 2.0

உருப்படிசெயல்பாடு
கோரிக்கைAuthnRequest ஐ HTTP-Redirect பிணைப்பு மூலம் அனுப்புகிறது. கோரிக்கைக்கு கையொப்பமிடப்படாது.
கோரிக்கை உள்ளடக்கம்Destination=IdP SSO URL, AssertionConsumerServiceURL=ACS URL, ProtocolBinding=HTTP-POST, Issuer=SP EntityID, NameIDPolicy Format=…:nameid-format:unspecified, AllowCreate=true
பதில்HTTP-POST பிணைப்பு, SAMLResponse மற்றும் RelayState உடன். Keural அனுப்பிய RelayState மதிப்பை அப்படியே திருப்பி அனுப்ப வேண்டும்.
கையொப்பம்Response அல்லது Assertion இரண்டில் ஒன்றில் செல்லுபடியான கையொப்பம் இருக்க வேண்டும். சரிபார்ப்பு விசையாக திரையில் பதிவு செய்த சான்றிதழை மட்டுமே பயன்படுத்தும்.
Assertionபதிலில் சரியாக ஒரு assertion இருக்க வேண்டும். குறியாக்கம் செய்யப்பட்ட assertion (EncryptedAssertion) ஏற்கப்படாது.
நிலைStatusCode urn:oasis:names:tc:SAML:2.0:status:Success ஆக இருக்க வேண்டும்
IssuerIdP EntityID உள்ளிட்டிருந்தால், அது assertion இல் உள்ள Issuer உடன் பொருந்த வேண்டும்
நிபந்தனைகள்NotBefore மற்றும் NotOnOrAfter (300 வினாடி சகிப்புத்தன்மை), Audience=SP EntityID
SubjectConfirmationDataRecipient=ACS URL, NotOnOrAfter (300 வினாடி சகிப்புத்தன்மை), InResponseTo=Keural அனுப்பிய கோரிக்கை ID
மின்னஞ்சல்பண்பு Name அல்லது FriendlyName பின்வருவனவற்றில் ஒன்றாக இருக்க வேண்டும் (பெரிய/சிறிய எழுத்து பொருட்படுத்தப்படாது): email, mail, emailAddress, E-Mail-Addresses, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. இல்லையெனில், @ உள்ள NameID பயன்படுத்தப்படும்.
பெயர்displayName, name, cn, http://schemas.microsoft.com/identity/claims/displayname
சான்றிதழ்ஒரு X.509. PEM அல்லது Base64(DER). சான்றிதழை மாற்றும்போது புதிய சான்றிதழை உள்ளிட்டுச் சேமிக்கவும்.
மெட்டாடேட்டாIdP மெட்டாடேட்டா XML ஐப் பதிவேற்றுவதற்குப் பதிலாக IdP EntityID · IdP SSO URL · சான்றிதழ் ஆகிய மூன்று மதிப்புகளை உள்ளிடவும்.

பயனர் பொருத்தம்

உருப்படிசெயல்பாடு
SSO க்கு அனுப்பும் நிபந்தனைமின்னஞ்சலில் @ க்குப் பின் உள்ள பகுதி மின்னஞ்சல் டொமைன் பட்டியலில் உள்ள ஒரு உருப்படியுடன் சரியாகப் பொருந்த வேண்டும் (பெரிய/சிறிய எழுத்து பொருட்படுத்தப்படாது). துணை டொமைன்கள் தனியாகப் பதிவு செய்யப்பட வேண்டும்.
கணக்கைக் கண்டறிதல்IdP அனுப்பிய மின்னஞ்சலை (சிறிய எழுத்தில்) வைத்து Keural கணக்கு தேடப்படும்.
கணக்கு இல்லாத போதுமுதல் உள்நுழைவில் பயனர்களைத் தானாக உருவாக்கு (JIT) இயக்கப்பட்டிருந்தால் கணக்கு உருவாக்கப்படும். முடக்கப்பட்டிருந்தால் உள்நுழைவு மறுக்கப்படும்.
நிறுவனத்தில் சேருதல்நிறுவன உறுப்பினர் அல்லாதவர் உறுப்பினராக சேர்க்கப்படுவார். இருக்கைகள் நிரம்பிய அல்லது வேறு நிறுவனத்தில் உள்ள கணக்குகள் சேராது; உள்நுழைய மட்டுமே முடியும்.
மின்னஞ்சல் டொமைனைச் சேமிக்கும் நிபந்தனைDNS TXT மூலம் சரிபார்க்கப்பட்ட டொமைன்; பொது மின்னஞ்சல் டொமைன்கள் தவிர

டொமைன் சரிபார்ப்பு

உருப்படிமதிப்பு
பதிவு வகைTXT
ஹோஸ்ட்பதிவு செய்த டொமைனை அப்படியே (எ.கா. acme.com). முன்னொட்டு துணை டொமைனைப் பயன்படுத்த வேண்டாம்.
மதிப்புkeural-verify=<UUID>, திரையில் காட்டப்பட்ட மதிப்பு அப்படியே
சரிபார்ப்பு நேரம்சரிபார்ப்பை உறுதிப்படுத்து அழுத்தும் போது ஒருமுறை சரிபார்க்கப்படும்.

SCIM 2.0

உருப்படிமதிப்பு
Base URL{API}/scim/v2
அங்கீகாரம்Authorization: Bearer <SCIM token>. டோக்கன் scim_ இல் தொடங்கும்; வழங்கும் போது ஒருமுறை மட்டுமே காட்டப்படும்.
Content-Typeகோரிக்கை application/scim+json அல்லது application/json; பதில் application/scim+json
நிலைக் குறியீடுகள்உண்மையான HTTP நிலைக் குறியீடுகளாகத் திருப்பி அனுப்பப்படும். பிழை உடல் SCIM Error வடிவத்தில் இருக்கும் (schemas, status, detail, scimType).

endpoint கள்

முறைபாதைசெயல்பாடு
GET/Usersபட்டியல். filter=userName eq "…", startIndex (இயல்பு 1), count (இயல்பு 100, அதிகபட்சம் 200)
GET/Users/{id}ஒருவரைப் பார்க்க
POST/Usersஉருவாக்குதல் (201). அதே மின்னஞ்சல் இருந்தால் 409.
PATCH/Users/{id}active, displayName, name.formatted, name.givenName ஐ மாற்றுதல்
PUT/Users/{id}displayName·name·active ஐப் பிரதிபலித்தல். active ஐ விட்டுவிட்டால் செயலில் உள்ளதாகக் கருதப்படும்.
DELETE/Users/{id}கணக்கை இடைநிறுத்துதல் (204). தரவு நீக்கப்படாது.
GET/Groups, /Groups/{id}இரண்டு நிலையான குழுக்களைப் பார்க்க. filter=displayName eq "…"
PATCH/Groups/{id}உறுப்பினர்களைச் சேர்த்தல், நீக்குதல் அல்லது மாற்றுதல்
GET/ServiceProviderConfig, /ResourceTypes, /Schemasஆதரிக்கப்படும் அம்சங்களைப் பார்க்க

பயனர் பண்புகள்

பண்புபயன்பாடு
userNameமின்னஞ்சல். இல்லையெனில் emails[0].value பயன்படுத்தப்படும்.
displayName · name.formatted · name.givenName+name.familyNameகாட்சிப் பெயர்
activefalse இடைநிறுத்தும் (உள்நுழைவு தடுக்கப்படும்), true மீட்டமைக்கும்
idKeural பயனர் ID. பதிலில் சேர்க்கப்படும்.

externalId சேமிக்கப்படாது. IdP இல் பயனரைத் தேட userName வடிகட்டியைப் பயன்படுத்தவும்.

குழுக்கள்

iddisplayNameஉறுப்பினரைச் சேர்க்கும்போதுஉறுப்பினரை நீக்கும்போது
keural-adminsKeural Adminsநிர்வாகிஉறுப்பினர்
keural-membersKeural Membersஉறுப்பினர்மாற்றம் இல்லை

நிறுவன உரிமையாளரின் பங்கு SCIM மூலம் மாறாது. குழுவை உருவாக்குதல் அல்லது நீக்குதல் (POST·DELETE /Groups) 501 ஐத் திருப்பி அனுப்பும். குழு உறுப்பினரின் value Keural பயனர் ID (/Users இல் உள்ள id).

ஆதரவு வரம்பு

அம்சம்ஆதரவு
PATCHஆம்
வடிகட்டிகள்userName eq, displayName eq
Bulk · வரிசைப்படுத்தல் · ETag · கடவுச்சொல் மாற்றம்இல்லை

பிழைகள்

நிலைscimTypeகாரணம்
400invalidValueuserName மற்றும் emails இரண்டுமே இல்லை
401—டோக்கன் இல்லை அல்லது தவறானது; SCIM வழங்குதல் முடக்கப்பட்டுள்ளது
404—இந்த நிறுவனத்தின் பயனர் அல்லது குழு அல்ல
409uniquenessஅதே மின்னஞ்சலுடன் கணக்கு ஏற்கனவே உள்ளது; இருக்கைகள் அதிகமாகின்றன
501—குழுவை உருவாக்குதல் அல்லது நீக்குதல்

இந்தப் பக்கத்தில்