forge($config = array(), $autorun = true)
forge 方法建立一个 Auth_Opauth 类别的实例,它提供 OAuth 与你的应用程序整合。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | Auth_Opauth | |||||||||
範例 |
|
如果你想要处理回呼而不传递自订配置,你不必传递一个空阵列, 你可以使用 \Auth_Opauth::forge(false); 做为捷径。
如同扩充 Auth 的 Opauth 简介 所言, 包装类别自动配置自身为 Simpleauth 或 Ormauth,根据配置在 auth.php 配置档案中的驱动。
如果你不使用这些驱动,但已经在 Auth 框架中登记自己的驱动,你仍然可以使用 Opauth 整合类别, 但你不得不手动建立定义在 migration 008 的 'providers' 资料表。 你可以命名成任何你喜欢的。此外,你的自订 Login 驱动应该提供 Auth::check()、 Auth::instance()->get_user_id()、Auth::instance()->force_login() 和 Auth::create_user() 方法,与 Simpleauth 原型相容。没有这些,它不会运作。
Opauth 大部分的配置已经透过 opauth.php 配置档案完成, 而且所有在该档案中的选项都可以在执行阶段透过使用 $config 阵列传递一个新值到 forge() 来修改。此外, 有些配置值你只能在执行阶段传递,他们不支援在配置档案中:
参数 | 类型 | 预设 | 描述 |
---|---|---|---|
table | 字串 | 自动侦测 | 允许你手动定义包含提供者资讯的资料表名称。当使用 Simpleauth 或 Ormauth 时, 这个资料表的名称是自动侦测的。如果你使用自订的 Auth 驱动组,并已经手动建立资料表, 你将不得不在每次 forge 呼叫传递此资料表名称。 |
path | 字串 | 自动侦测 | 指向做你的 OAuth 认证的控制器方法的 URI 路径。预设情况下, 它是设为在你锻造一个 Opauth 物件时的目前路径。 |
callback_url | 字串 | 自动侦测 | 指向处理 OAuth 提供者回呼的控制器方法的 URI 路径。预设情况下, 它是设为呼叫 path 指向的同一控制器中的 'action_callback' 或 'get_callback' 方法。 |
provider | 字串 | 自动侦测 | 如果你已经手动设定 path,OAuth 提供者呼叫的自动侦测会失效, 而且你将不得不手动定义提供者名称。这有区分大小写,且必须与被策略提供者使用的字母, 以及在 opauth.php 配置档案中用来定义策略的键相符合。 |
当使用 Simpleauth 或 Ormauth,而且你已经在你的应用程序中遵循範例程式码整合 Opauth, 这些执行阶段配置值都是不需要的,自动侦测值会做得很不错。
forge 方法建立一个 Auth_Opauth 类别的实例,它提供 OAuth 与你的应用程序整合。
静态 | 是 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | Auth_Opauth | |||||||||
範例 |
|
如果你想要处理回呼而不传递自订配置,你不必传递一个空阵列, 你可以使用 \Auth_Opauth::forge(false); 做为捷径。
login_or_register 方法处理提供者回呼。如果回传的提供者 UID 是已知的, 使用者会使用与本地关联的帐户登入。如果不是,使用者会被要求注册一个新帐户, 或用已存在的帐户登入并与其 UID 关联。
静态 | 否 |
---|---|
参数 | 无 |
回传 | 字串,状态码。支援以下状态码:
|
範例 |
|
link_provider 方法能让你手动连结本地的使用者帐户到 OAuth 登入。 你需要这个,如果你想为新使用者提供选项,首先注册一个本地帐户, 然后手动建立该帐户与提供者 UID 的连结。
静态 | 否 | ||||||
---|---|---|---|---|---|---|---|
参数 |
| ||||||
回传 | 混合。建立提供者连结纪录的 insert id,或 false 如果建立失败。 | ||||||
範例 |
|
get 方法是一个 getter, 允许直接存取由 Opauth 策略建立的原始提供者回呼的回应结构。
静态 | 否 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
参数 |
| |||||||||
回传 | 混合。被所给键参照的值,或任何定义的 $default。 | |||||||||
範例 |
|
你只能在你处理回呼时使用此方法。在所有其他情况下, 没有 OAuth 回应可用。如果先前有一个有效的回应处理, 其基本资料会使用 session 键 "auth-strategy" 储存在 session 中。