<i id="tjbs1"><center id="tjbs1"><ruby id="tjbs1"></ruby></center></i>
    <acronym id="tjbs1"><thead id="tjbs1"></thead></acronym>

    <video id="tjbs1"><input id="tjbs1"><noscript id="tjbs1"></noscript></input></video>
    <source id="tjbs1"><thead id="tjbs1"></thead></source>

    <p id="tjbs1"><thead id="tjbs1"><pre id="tjbs1"></pre></thead></p>

      <b id="tjbs1"><th id="tjbs1"></th></b>

        <video id="tjbs1"></video>
        <p id="tjbs1"></p>
        <source id="tjbs1"><thead id="tjbs1"></thead></source>

          1. <p id="tjbs1"></p>
            <samp id="tjbs1"><td id="tjbs1"></td></samp>

                <p id="tjbs1"></p>
              <source id="tjbs1"><thead id="tjbs1"></thead></source>
                <p id="tjbs1"></p>
                <p id="tjbs1"></p>

                  <video id="tjbs1"></video>

                          <p id="tjbs1"></p>
                        1. <b id="tjbs1"><td id="tjbs1"><object id="tjbs1"></object></td></b>

                          <source id="tjbs1"></source><samp id="tjbs1"></samp>
                                  <samp id="tjbs1"><td id="tjbs1"><object id="tjbs1"></object></td></samp>

                                    <p id="tjbs1"></p>
                                  <b id="tjbs1"></b><u id="tjbs1"><th id="tjbs1"><output id="tjbs1"></output></th></u>
                                    <source id="tjbs1"></source>
                                  <samp id="tjbs1"></samp>
                                  1. <source id="tjbs1"><code id="tjbs1"></code></source><video id="tjbs1"></video>
                                  2. <b id="tjbs1"><td id="tjbs1"><object id="tjbs1"></object></td></b>

                                      <source id="tjbs1"><bdo id="tjbs1"></bdo></source>

                                      <p id="tjbs1"></p>
                                    1. <b id="tjbs1"></b>
                                      1. <p id="tjbs1"></p>
                                      <u id="tjbs1"><center id="tjbs1"><s id="tjbs1"></s></center></u><u id="tjbs1"><td id="tjbs1"></td></u>

                                    2. <samp id="tjbs1"></samp>

                                        <source id="tjbs1"></source>

                                        <samp id="tjbs1"><th id="tjbs1"></th></samp>

                                        1. <tt id="tjbs1"></tt>
                                            <samp id="tjbs1"></samp>

                                              <source id="tjbs1"></source>

                                              <b id="tjbs1"></b>
                                              <b id="tjbs1"></b>

                                            1. <var id="tjbs1"></var>
                                                  <b id="tjbs1"></b>
                                                1. <b id="tjbs1"><th id="tjbs1"><output id="tjbs1"></output></th></b>
                                                2. <source id="tjbs1"><mark id="tjbs1"></mark></source>
                                                  <video id="tjbs1"><code id="tjbs1"></code></video>
                                                  1. <b id="tjbs1"><address id="tjbs1"></address></b>
                                                    1. <b id="tjbs1"></b>
                                                    2. <video id="tjbs1"></video>

                                                      1. <b id="tjbs1"></b>
                                                        1. <source id="tjbs1"><code id="tjbs1"></code></source><button id="tjbs1"></button>
                                                          
                                                        2. <u id="tjbs1"></u>
                                                          1. <var id="tjbs1"><td id="tjbs1"></td></var>
                                                            1. <p id="tjbs1"></p>
                                                            <samp id="tjbs1"></samp>
                                                                <p id="tjbs1"></p>
                                                                教程分類
                                                                教程瀏覽排行

                                                                4種認證(authentication)或授權(authorization)方式

                                                                authentication 認證訪問者是誰 authorization 訪問權限 authentication 一般包含兩個步驟,第一步,用戶需要安裝服務提供的授權證書,或者用戶需要使用API服務中已經存儲的某個賬戶,也可以創建一個;第二步,每次發送請求到API服務時需要帶上證書,因為RESTful API 是不會記錄客戶端與服務端的會話,無狀態限制。 有些認證技術還涉注冊,客戶端需要安裝證書,并且按需要安裝用戶個人的證書,客戶端需要將客戶端的證書和用戶證書一起攜帶發送請求。 Basic Authentication HTTP Basic authentication is described in RFC 2617. It’s a simple username/password scheme. 將用戶名與密碼進行Base64轉碼,但這種轉碼是可逆的。某些爬蟲工具可能會獲取這些請求信息,直接獲取用戶的賬號和密碼,如果采用HTTPS方式發送請求,每次請求和響應會被SSL加密,爬蟲無法獲取這些信息。另一個問題,由于API通常不能信任用戶使用的客戶端,如果用戶在多個設備(平板、電腦、手機)中登錄了這個API服務,其中一個設備出現安全問題,需要修改密碼,那么其他設備也需要重新登錄才行。為了解決第二個問題,需要對每個設備給予不同的證書。 OAuth OAuth 是一種授權框架,能夠讓應用通過HTTP 服務獲取有限的訪問,訪問用戶賬號信息,例如Facebook, GitHub, DigitalOcean都采用該技術。它可以委托認證服務授權第三方應用訪問自己的賬號信息。OAuth2 相比OAuth 1,可以在PC端、移動端設備上使用。 OAuth 定義了四種角色: 1. 資源所屬者,User, 擁有該資源的人,擁有Application所訪問資源的權限。 2. 客戶端, Application, 需要訪問用戶賬號信息的應用 3. 資源服務器, API 4. 授權服務器, API OAuth 抽象版流程圖 在應用(Application/Client)使用OAuth前需要在Service API 注冊該應用。需要在Service中提交應用的信息:名稱、網站、授權后的跳轉URL。 當應用注冊后,Service會發布“client credentials”客戶端證書,包括client identifier 和 client secret. Client ID 是公開的字符串,提供ServiceAPI標識該應用,并且用來構建呈現給用戶的授權URLs。 Client Secret用來認證Application向ServiceAPI的發起訪問用戶賬號信息的請求,需要確保Application與API之間的隱私。 Authorization Grant (權限授予方式) 在上圖的第一步中有權限授予操作。OAuth2 提供四種授予權限的方式,根據不用場景使用: 1. Authorization Code: 在服務端應用采用 2. Implicit: 移動端APP,Web應用 3. Resource Owner Password Credentials: 在可信任的應用中使用 4. Client Credential:應用訪問API采用的 Authorization Code Flow 第一步,用戶 訪問授權請求的鏈接,例如 鏈接包含五個信息: API 授權點 client_id: client_id, redirect_uri=CALLBACK_URL response_type=code, 指定應用的授權的方式,采用authorization code grant 方式 scope=read. 指定訪問的等級 第二步,授權應用后,會獲取authorization code 第三步,根據code換取 token
                                                                來源:本站整理 發布時間:2019/1/31 16:30:13 瀏覽次數
                                                                上一篇教程:用好PowerPoint2007的重用幻燈片
                                                                下一篇教程:flash教程視頻
                                                                教程評論


                                                                評論人: 驗證碼:
                                                                內 容:
                                                                相關教程
                                                                97无码免费人妻超级碰碰碰碰互动交流,网友分享人妻久久久精品99系列中文心得,无码人妻一区二区三区免费