当前位置: 首页 > 知识库问答 >
问题:

使用oauth2/OIDC进行sso登录,无需重定向-可能吗?

仲璞瑜
2023-03-14

我试图弄清楚我需要做什么来实现SSO。所以基本上我正在构建:

a)php网站(example.com)
b)android app(com.android.example)

网站和应用程序将有一个登录表单社交登录按钮,通过twitter、FB等进行身份验证。

我不明白的是,人们如何在站点上实现登录表单,在没有重定向的情况下对OIDC服务器进行身份验证?如果我理解正确-OIDC流要求将用户重定向到不同的网站进行登录。。。我如何避免这种情况,以便用户体验无缝地登录到我的个人OIDC服务器(对于其他社交登录,如谷歌-我真的不在乎重定向)?

共有1个答案

商正诚
2023-03-14

如果您已经有了登录表单并收集了用户凭据,则可以利用“资源所有者凭据”流,即“密码”授权类型。这是一种由OAuth规范定义并由OIDC继承的类型。

密码授权类型允许OAuth/OIDC客户端直接将用户的凭据发送到OAuth/OIDC服务器。对于Web和本机设备应用程序中受信任的第一方客户端来说,此授权是一种良好的用户体验。

您基本上向OIDC服务器的/access Tokenendpoint发送请求,提供:

grant_type=password&client_id=ID&client_secret=<SECRET>&username=USERNAME&password=PASSWORD

更多信息请访问:https://www.rfc-editor.org/rfc/rfc6749#section-1.3.3

 类似资料:
  • 我正在我的 SPA 应用程序中实现 Auth0,其中一个要求是拥有一个自定义 UI,这也意味着我无法使用重定向到 Auth0 的通用登录页面。 在阅读了Auth0网站后,我发现了资源所有者授权类型,这似乎解决了我直接使用Auth0 API处理登录的问题。 使用这种授予类型有什么缺点吗??(我读到这不是很推荐,但我想听听关于这一点的意见) 此外,这种资助类型还有其他选择吗??我是说,如果Biz不想要

  • 我正在尝试使用Oauth2代理作为使用Google身份验证的网站的网关。出现Oauth登录页面,您可以单击“登录”,这将带您进入Google登录页面,但登录后它会直接重定向回Oauth登录页面。我怀疑这与cookie有关,但我不知道我做错了什么。 NGINX配置: oauth 2-代理配置: Oauth2-proxy 启动命令: 任何想法将不胜感激!

  • 我一直在研究Spring Boot Oauth2教程,但似乎找不到一个非常关键的元素: 我可以通过添加以下内容来让它工作: ...但在前进之前,我真的想知道这是否是教程或我的实现或其他问题。Oauth安全系统决定什么是“登录”页面的机制是什么?

  • 以下是 IdP 在 OpenAm 的元数据文件 SP位于:http://mysp.com/ 可以发布SAML响应的SP的验证url位于:http://mysp.com/login 以下请求适用于 SSO 登录:http://myidp.com/openam/idpssoinit?metaAlias=/idp 当我发布 SAML 请求以 http://myidp.com/openam/SSOPOST

  • 我想在登录到我的索引页面(index.jsp)后进行重定向,实际上我的登录可以正常工作,但ajax支持缺少重定向。 她是我的登录名。jsp 这是我的登录 我的struts配置文件: 对于DAO部分是: 公共字符串验证(字符串用户名,字符串userpass)抛出SQLException,Exception{ 谢谢你的帮助。

  • 我正在我是身份提供者的地方实施SSO,现在我能够成功登录到服务提供者。但它把我带到了主页。我想在发布响应时指定着陆页URL。搜索了很多,但找不到任何令人信服的东西。不太知道SAML响应的哪个元素携带着陆页URL或采用我必须指定的形式。使用java和opensaml库生成响应。