הסבר על נקודות קצה של OAuth

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

כדי ש-Apigee יפעל כשרת הרשאות OAuth2, הוא צריך לחשוף נקודות קצה שבהן לקוחות יכולים לבקש טוקנים וקודי אימות. במאמר הזה נסביר בקצרה על נקודות הקצה האלה ואיך מגדירים אותן ב-Apigee.

מהי נקודת קצה מסוג OAuth2?

נקודת קצה (endpoint) מסוג OAuth2 היא כתובת URL שלקוחות קוראים לה כדי לבקש טוקנים מסוג OAuth (או קודי הרשאה). הנה דוגמה לבקשה לאסימון גישה:

$ curl -i -H "ContentType: x-www-form-urlencoded" \
-X POST "https://apitest.acme.com/oauth/client_credential/accesstoken" \
-d "grant_type=client_credentials" \
-H "Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ"

כדי לעבד את הבקשה הזו, צריך מדיניות OAuthV2. כפי שאפשר להבין מהבקשה לדוגמה שלמעלה, המדיניות צריכה לתמוך בסוג ההרשאה client credentials (פרטי כניסה של לקוח) ולפעול בנתיב /oauth/client_credentials/accesstoken.

זוהי מדיניות לדוגמה של OAuthV2 שמוגדרת לקבל את סוג ההרשאה client_credentials. מידע על רכיבי הגדרה אופציונליים שאפשר להגדיר באמצעות המדיניות הזו זמין במאמר בנושא מדיניות OAuthV2.

<OAuthV2 name="GenerateAccessToken">
    <Operation>GenerateAccessToken</Operation>
    <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes -->
    <SupportedGrantTypes>
      <GrantType>client_credentials</GrantType>
    </SupportedGrantTypes>
    <GenerateResponse enabled="true"/>
</OAuthV2>

זוהי דוגמה להגדרת נקודת קצה ליצירת טוקן גישה. המדיניות GenerateAccessToken תופעל, והיא צריכה להיות מוגדרת לתמיכה בסוג ההרשאה client_credentials.

...
       <Flow name="generate-access-token">
            <Request>
                <Step>
                    <Name>GenerateAccessToken</Name>
                </Step>
            </Request>
            <Response/>
            <Condition>(proxy.pathsuffix MatchesPath "/token") and (request.verb = "POST")</Condition>
        </Flow>
...

אם הלקוח מספק את פרטי הכניסה הנכונים, המדיניות יוצרת ומחזירה טוקן. אחרת, היא מחזירה שגיאה.

נושאים קשורים

למידע מפורט על כל סוגי ההרשאות הנתמכים וקוד לדוגמה, אפשר לעיין במאמר קבלת אסימוני OAuth 2.0