- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序需要一个 twitter 帐户来创建一个帐户并进行身份验证。然后,用户可以随意链接任何其他 Twitter 帐户。因此,用户有一个主要的 twitter 帐户,允许他连接到我的应用程序,然后,他可以浏览他之前在应用程序中链接的所有帐户。我的问题是关于 Twitter 端的登录过程。
首先,我想过设置 force_login
仅在关联新帐户时。这样,用户每次想要连接到我的应用程序时,都不必在 Twitter 上重新连接。并且,当他想关联另一个帐户时,force_login
迫使他选择正确的帐户。问题是 Twitter 与最后一个经过身份验证的帐户保持连接。因此,如果用户在链接另一个帐户后立即从我的应用程序注销,然后使用 twitter 登录,他会使用第二个帐户登录,并在我的应用程序上创建一个新用户。例子:
用户有两个推特账户:@a 和@b。他已通过@a 向 Twitter 进行了身份验证。他注册了我的应用程序,Twitter 向他展示了我的应用程序要求的权限,用户接受,他被重定向到我的应用程序,创建了一个可以使用 @a 进行身份验证的新用户。
然后,他链接@b 帐户。感谢 force_login
,Twitter 要求他提供凭据。用户登录@b,Twitter 请求权限,然后,该帐户链接到我的应用程序上的用户。我们现在有一个用户可以使用@a 进行身份验证并且链接到@b。
然后,我的应用程序上的 session 结束了,用户需要重新连接。因为没有force_login
,Twitter 发现他已经连接到授权我的应用程序的帐户,因此无需用户执行任何操作即可接受连接。但是,没有人看到该用户与最后一个帐户相关联:@b。所以,我得到了一个@b 的登录操作,这意味着创建一个新用户。
我现在有两个用户:User1 可以使用@a 进行身份验证并链接到@b,而 User2 可以使用@b 进行身份验证。我的用户不明白它的@a 帐户在哪里。
所以我的问题是:我是否必须设置 force_login
任何地方?或者是否有另一种方法可以告诉 Twitter 在链接帐户时不要进行身份验证?
编辑更多细节:
这并不容易。请记住,许多用户应该管理同一个帐户。一个简单的例子:@Maurice 和@Roy 是@ReynholmIndustries 公司的成员。他们将在我的服务上使用自己的 Twitter 帐户创建自己的帐户。因此,在我的服务中,我将拥有可以与 @Maurice 连接的 User1 和可以与 @Roy 连接的 User2。然后,@Maurice 会将@ReynholmIndustries 帐户添加到我的服务中。因此,使用@Maurice 登录后,他可以管理@Maurice 和@ReynholmIndustries。然后,@Roy 也会添加 @ReynholmIndustries。没有人可以使用@ReynholmIndustries 登录,但@Maurice 和@Roy 可以使用自己的帐户进行管理。然后,显然有人可以通过@ReynholmIndustries 注册来创建新用户。
困难在于添加新帐户时:UserA 通过在 Twitter 上登录来登录到我的服务。他现在被认证为@Maurice,在我的服务中作为 UserA,可以管理@Maurice。然后,他通过在 Twitter 上以@ReynholmIndustries 的身份登录来添加@ReynholmIndustries。他现在在我的服务中被认证为@Maurice,可以管理@Maurice 和@ReynholmIndustries,但在推特上,他现在被认证为@ReynholmIndustries。
后来,他失去了对我的服务的身份验证,然后单击了登录按钮。他在 twitter oauth 表单上重定向,我们现在有两个选择:
最佳答案
对我来说,您的问题似乎与 Twitter 完全无关。您只需要在您的应用程序中正确处理登录/注册过程。
根据您的描述,情况如下:
关于twitter - 处理与多个 Twitter 帐户的连接的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35079760/
我想了解 Ruby 方法 methods() 是如何工作的。 我尝试使用“ruby 方法”在 Google 上搜索,但这不是我需要的。 我也看过 ruby-doc.org,但我没有找到这种方法。
Test 方法 对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。 object.Test(string) 参数 object 必选项。总是一个
Replace 方法 替换在正则表达式查找中找到的文本。 object.Replace(string1, string2) 参数 object 必选项。总是一个 RegExp 对象的名称。
Raise 方法 生成运行时错误 object.Raise(number, source, description, helpfile, helpcontext) 参数 object 应为
Execute 方法 对指定的字符串执行正则表达式搜索。 object.Execute(string) 参数 object 必选项。总是一个 RegExp 对象的名称。 string
Clear 方法 清除 Err 对象的所有属性设置。 object.Clear object 应为 Err 对象的名称。 说明 在错误处理后,使用 Clear 显式地清除 Err 对象。此
CopyFile 方法 将一个或多个文件从某位置复制到另一位置。 object.CopyFile source, destination[, overwrite] 参数 object 必选
Copy 方法 将指定的文件或文件夹从某位置复制到另一位置。 object.Copy destination[, overwrite] 参数 object 必选项。应为 File 或 F
Close 方法 关闭打开的 TextStream 文件。 object.Close object 应为 TextStream 对象的名称。 说明 下面例子举例说明如何使用 Close 方
BuildPath 方法 向现有路径后添加名称。 object.BuildPath(path, name) 参数 object 必选项。应为 FileSystemObject 对象的名称
GetFolder 方法 返回与指定的路径中某文件夹相应的 Folder 对象。 object.GetFolder(folderspec) 参数 object 必选项。应为 FileSy
GetFileName 方法 返回指定路径(不是指定驱动器路径部分)的最后一个文件或文件夹。 object.GetFileName(pathspec) 参数 object 必选项。应为
GetFile 方法 返回与指定路径中某文件相应的 File 对象。 object.GetFile(filespec) 参数 object 必选项。应为 FileSystemObject
GetExtensionName 方法 返回字符串,该字符串包含路径最后一个组成部分的扩展名。 object.GetExtensionName(path) 参数 object 必选项。应
GetDriveName 方法 返回包含指定路径中驱动器名的字符串。 object.GetDriveName(path) 参数 object 必选项。应为 FileSystemObjec
GetDrive 方法 返回与指定的路径中驱动器相对应的 Drive 对象。 object.GetDrive drivespec 参数 object 必选项。应为 FileSystemO
GetBaseName 方法 返回字符串,其中包含文件的基本名 (不带扩展名), 或者提供的路径说明中的文件夹。 object.GetBaseName(path) 参数 object 必
GetAbsolutePathName 方法 从提供的指定路径中返回完整且含义明确的路径。 object.GetAbsolutePathName(pathspec) 参数 object
FolderExists 方法 如果指定的文件夹存在,则返回 True;否则返回 False。 object.FolderExists(folderspec) 参数 object 必选项
FileExists 方法 如果指定的文件存在返回 True;否则返回 False。 object.FileExists(filespec) 参数 object 必选项。应为 FileS
我是一名优秀的程序员,十分优秀!