Bash 要对网站进行身份验证,请执行以下操作:
我必须为我们的命令行应用程序(Django应用程序)启用OpenID for Ex:每当用户试图访问我们的API时,我必须确保使用OpenID(Microsoft/Google)对用户进行身份验证。我正在尝试编写一个Shell脚本来访问OpenID网站,然后将cookie存储在用户的机器上,每当他尝试访问第二个应用程序时,应该根据我存储在他的机器上的cookie授予他访问权限 我正在尝试使用上述方法,每当我尝试访问第二个url时,我都会收到一个错误:“您的浏览器当前设置为阻止Cookie。您需要允许Cookie使用此服务。” 我的网站不在一个域上,它们使用OpenID进行身份验证Bash 要对网站进行身份验证,请执行以下操作:,bash,authentication,curl,cookies,openid-provider,Bash,Authentication,Curl,Cookies,Openid Provider,我必须为我们的命令行应用程序(Django应用程序)启用OpenID for Ex:每当用户试图访问我们的API时,我必须确保使用OpenID(Microsoft/Google)对用户进行身份验证。我正在尝试编写一个Shell脚本来访问OpenID网站,然后将cookie存储在用户的机器上,每当他尝试访问第二个应用程序时,应该根据我存储在他的机器上的cookie授予他访问权限 我正在尝试使用上述方法,每当我尝试访问第二个url时,我都会收到一个错误:“您的浏览器当前设置为阻止Cookie。您需要
curl--cookie./somefilehttps://secondwebsite.com/b
这是我的完整剧本
#Setting redirect url in IP variable
set IP=`curl -w "%{url_effective}\n" -I -L -s -S http://mysite1.com -o /dev/null`
echo "Trying to Authenticate.."
curl -L -s -S -I -k -v -i --user "username@microsoft.com" -D ./temp/cookie $IP
echo "Authentication successful"
#I need to check if the cookie is set or not, If it is set Authentication is successful
echo "Trying to access the second url"
#The below line is failing, When I wrote the whole content to html file, I see the error mentioned above (Your browser is currently set to block cookies. You need to allow cookies to use this service)
curl --cookie ./temp/cookie https://secondwebsite.com/
总而言之,我有两个问题
有适当的安全方法使您的命令行应用程序能够访问API [OpenId Connect RFC](),允许您使用公共客户端[code flow]()获取访问令牌和刷新令牌。用户可以第一次这样做,以后使用时,命令行应用程序可以不断更新新的访问令牌并调用API Azure AD B2C提供了一些示例,展示了如何调用[code flow from a desktop application]()和相应的 此链接有更多详细信息
这样,您的命令行应用程序永远不会收集敏感信息,如密码或mfa详细信息。它调用浏览器,让AAD B2C执行最安全的身份验证配置,并为应用程序提供访问令牌。从那时起,命令行只使用access_令牌作为承载令牌,通常将其放在授权头中 有一些适当的安全方法可以让命令行应用程序访问API [OpenId Connect RFC](),允许您使用公共客户端[code flow]()获取访问令牌和刷新令牌。用户可以第一次这样做,以后使用时,命令行应用程序可以不断更新新的访问令牌并调用API Azure AD B2C提供了一些示例,展示了如何调用[code flow from a desktop application]()和相应的 此链接有更多详细信息
这样,您的命令行应用程序永远不会收集敏感信息,如密码或mfa详细信息。它调用浏览器,让AAD B2C执行最安全的身份验证配置,并为应用程序提供访问令牌。从那时起,命令行只使用access_令牌作为承载令牌,通常将其放在授权头中 根据规范,它需要浏览器交互,但我正在寻找完全基于命令行的身份验证。客户机必须能够与资源所有者的用户代理(通常是web浏览器)进行交互(),根据规范,它需要浏览器交互,但我正在寻找完全基于命令行的身份验证。客户端必须能够与资源所有者的用户代理(通常是web浏览器)交互()