我正在尝试构建以下内容:
注意:我不需要与其他提供商共享我的数据,但可能希望将Android和iOS应用程序连接到同一个Web服务。
我使用最新的ASP.NET Web API项目模板创建了一个项目,并选择了“个人授权”,以便我可以访问ASP.NET身份系统以进行登录等。
查看示例here,我发现它包含使用OAuth 2“资源所有者密码凭据”授权授权请求访问令牌的功能,例如:
grant_type=password&username=user&password=password123
使用“资源所有者密码凭据”是否足以输入授权授权,只需从我的Android应用程序中的某些文本框中发送用户名和密码,或者我是否应该使用嵌入式浏览器获取“授权代码”和然后发送更像这样的东西:
client_id=myapp&grant_type=authorization_code&code={code}
每种方法有哪些优点,如果后一种方法更好,我在哪里开始在服务器端实施“授权端点”页面?
谢谢!
答案 0 :(得分:0)
“资源所有者密码凭据”授权就可以。
当您提供对第三方的访问权限时,需要“授权代码”授予。浏览器页面确保了 客户端应用程序不直接访问用户凭据(您不希望某个未知的应用程序读取您的用户密码:))。此赠款还可以实现一些不错的功能,例如2FA,具体取决于您的地理位置等。如果您希望在您的案例中保持简单 - 请使用资源所有权。 但如果可能 - 尝试代码授予。
另请参阅OpenId Connect