我正在为我的员工创建一个Android应用程序,要求销售人员使用Okta身份验证登录(我计划使用他们的身份验证API)。我的问题是如何保护我的代码将从Android应用程序调用的WEB API。我应该使用Okta的OAuth实现吗?
我在想的是如果我使用Okta的身份验证(让他们登录),我也可以调用OAuth API来检索令牌然后访问令牌。然后,我可以通过检查从Okta收到的访问令牌来锁定API。
您认为这是使用Okta执行此操作的最佳方式吗?
谢谢!
答案 0 :(得分:2)
2016年8月18日更新:我们现在在https://github.com/raphaellondner-okta/okta-oauth-xamarin-android-customtabs
处提供了一个Xamarin代码示例自2016年8月18日起,您需要稍微修改一下IdentityModel.OidcClient(https://github.com/raphaellondner-okta/IdentityModel.OidcClient/tree/rl-pkce-secretless)才能使其与Okta和PKCE一起使用。希望这些提议的更改很快就会进入主分支。
原始答案: 我建议您查看https://github.com/oktadeveloper/okta-openidconnect-appauth-sample-android处提供的OAuth Android示例(我们利用AppAuth实现Okta身份验证以及使用OAuth授权和OAuth功能)。
我们尚未提供Xamarin示例,但一般的想法是利用OAuth授权代码流使用嵌入式浏览器调用Okta / authorize端点,获取从Okta返回的代码浏览器响应URL(作为片段)并将其传递给您的移动应用程序以交换访问令牌的代码。
我们的OAuth功能仍处于测试阶段,因此如果需要访问它们,请通过okta dot com的开发人员与我们联系。