zoukankan      html  css  js  c++  java
  • flickr api authentication

    认证说明页:http://www.flickr.com/services/api/auth.spec.html

    2. 認證先決條件

    任何想要使用 flickr 認證 API 的應用程式均必須已獲得一個 flickr API key。此外,他們必須配置以下設定,已貼附到 API key︰

    • 應用程式標題
    • 應用程式描述
    • 應用程式徽標圖形(最大 600x300,建議 300x90)(可選的)
    • 「關於」URL 的應用程式(可選的)

    然後,flickr 將發表一個 API key 的 「共用密鑰」。此密鑰在簽署過程中使用,在第 8 節中詳細說明。

    然後應用程式可以選擇兩個認證方法(基於網站或非基於網站)中的一個。每個應用程式 key 可能僅與單一的認證方法相關聯。

    2.1. 基於網站的認證

    對於基於網站的認證,開發商必須為應用程式註冊一個「回呼 URL」。此 URL 的目的在第 3 節中說明。

    2.2. 非基於網站的認證

    對於非基於網站的認證,無需附加設定。

    2.3. 行動認證

    將來,flickr 可能會為行動應用程式提供附加認證機制。

    3. 基於網站的應用程式的認證

    當基於網站的應用程式需要認證使用者時,應該將使用者重新導向至以下 URL:

    http://flickr.com/services/auth/?api_key=[api_key]&perms=[perms]&api_sig=[api_sig]

    perms 是應用程式想要代表使用者執行的動作所需的權限層級。這些權限會在第 5 節中說明。api_sig 是一個簽章,如第 8 節中所述。

    如果使用者目前未登入 Flickr,則他們首先會被要求登入。

    然後 Flickr 會詢問使用者是否希望認證此應用程式。會顯示應用程式名稱和描述以及應用程式希望具有的權限描述。然後使用者可以選擇授予所有要求的權限,還是不授予任何要求的權限。如果使用者授予權限,則會使用先前為使用的 API key 所註冊的回呼 URL 將其重新導回應用程式。回呼 URL 將會附加以下內容:

    ?frob=[frob]

    然後此應用程式應呼叫 API 方法 flickr.auth.getToken,傳送其 API key 和通過的 Frob,並且應使用其共用密鑰簽署(請參閱第 8 節)。接著回應會包含認證記錄(供將來 API 呼叫使用)以及授予的權限。

    3.1. 更新基於網站的認證記錄

    若要更新認證記錄,基於網站的應用程式只需將使用者再次重新導向至 Flickr 認證 URL 即可。如果使用者已登入 Flickr 並且已經使用要求的權限(或更多權限,只要已授予要求的子集)認證此應用程式,同時記錄尚未到期,則他們會被直接重新導回應用程式並且具有指向現有認證記錄的 Frob。如果記錄已經到期或要求額外權限,則與以前一樣,會提示使用者進行更新。

    3.2. 執行指南

    認證 cookie 應該僅為單一階段作業儲存。

    必須為使用者提供「登出」連結。

    4. 用於非基於網站的應用程式的認證

    對於桌面和其他非基於瀏覽器的應用程式來說,第一步是呼叫 API 方法 flickr.auth.getFrob該方法需要簽署(請參閱第 8 節)。對此方法呼叫的回覆包含一個「Frob」,該 Frob 應該接著被用於建立 URL 以將使用者導向至以下 URL(在系統預設瀏覽器中開啟):

    http://flickr.com/services/auth/?api_key=[api_key]&perms=[perms]&frob=[frob]&api_sig=[api_sig]

    其他參數如第 3 節中所述。當使用者授予權限時,Flickr 會在螢幕顯示「permissions granted - return to your app(已授予權限 - 請返回你的應用程式)」,而不是將使用者導離網站。

    當使用者告知他們已經過認證時,應用程式應該呼叫 API 方法 flickr.auth.getToken,傳送其 API key 和 Frob(必須簽署呼叫 - 請參閱第 8 節)。接著回覆會包含認證記錄(供將來 API 呼叫使用)以及授予的權限。

    4.1. 更新非基於網站的認證記錄

    若要檢查記錄是需要更新還是已具有足夠的權限,應用程式應該呼叫 flickr.auth.checkToken 方法。如果記錄無效或缺少有關權限,則應用程式應使用與第一次的要求記錄相同的序列來要求新記錄。

    4.2. 執行指南

    使用者的個人檔案資料(包含認證記錄)應該儲存在本機使用者的「個人檔案」中,以便具有多個個人檔案/使用者的機器可以在他們之間轉換而無需共用認證資料。在 Windows 下,這可能相當於在註冊表的 HKEY_CURRENT_USER 下儲存資料,而在 OSX/Unix 中,可能相當於在使用者的基本目錄中儲存資料。

    必須為使用者提供「登出」功能。

    Flickr 找不到有效的回呼 URL。

    设置回呼url 。http://localhost/php/flickr/

    参考:

    http://josephj.com/prototype/JosephJiang/Presentation/OpenAPI_Workshop/flickr-auth-api.html

    http://see.sl088.com/wiki/Flickr/API/%E8%AE%A4%E8%AF%81 

    http://www.wumii.com/item/Gyl0ic0t

  • 相关阅读:
    dapper中使用类似whereif语句
    xamarin开发常见错误总结Sqlite本地数据库使用了保留字段导致语法错误
    vs2019C#代码规范设置命名规范
    xamarin在visual studio中遇到的包还原问题
    基础知识除数vs被除数
    xaf代码注册module
    xaf手动注册module之WebForm
    xamarin开发常见错误总结the operation was canceled
    JDK源码分析实战系列ThreadLocal
    公众号文章汇总
  • 原文地址:https://www.cnblogs.com/youxin/p/2998950.html
Copyright © 2011-2022 走看看