我试图在django中配置“mozilla-django-oidc”包。为了进行身份验证,我使用Azure Active Directory B2C策略,因此这是我的联合服务器。
当我点击登录按钮时,我得到了这个在我看来是错误的URL,为了方便起见,我会将其拆分:
https://TENANTID.b2clogin.com/TENANTID.onmicrosoft.com/oauth2/v2.0/authorize?p=b2c_1_TENANTID_signin?response_type=code
并且我需要的 URL 具有以下格式:https://TENANTID.b2clogin.com/TENANTID.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_TENANTID_SIGNIN
在主页中,我有这个代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Home page</title>
</head>
<body>
<h3>
Welcome to home page
</h3>
{% if user.is_authenticated %}
<p>Current user: {{ user.email }}</p>
<form action="{% url 'oidc_logout' %}" method="post">
<input type="submit" value="logout">
</form>
{% else %}
<a href="{% url 'oidc_authentication_init' %}">Login</a>
{% endif %}
</body>
settings.py中的我的代码
OIDC_RP_SIGN_ALGO = "RS256"
OIDC_RP_CLIENT_ID = "xxxxxxxxxxxxxx" #fake client id just for this post
# OIDC_RP_CLIENT_SECRET = os.environ['OIDC_RP_CLIENT_SECRET']
OIDC_OP_AUTHORIZATION_ENDPOINT =
"https://TENANTID.b2clogin.com/TENANTID.onmicrosoft.com/oauth2/v2.0/authorize?
p=b2c_1_TENANTID_signin"
OIDC_OP_TOKEN_ENDPOINT = "https://TENANTID.b2clogin.com/TENANTID.onmicrosoft.com/oauth2/v2.0/token?
p=b2c_1_TENANTID_signin"
# OIDC_OP_USER_ENDPOINT = "<URL of the OIDC OP userinfo endpoint>"
LOGIN_REDIRECT_URL = "http://localhost:8000/oidc/callback/"
LOGOUT_REDIRECT_URL = "http://localhost:8000/welcome/
注意:我不知道在这个变量“OIDC_RP_CLIENT_SECRET”和“OIDC_OP_USER_ENDPOINT”中放什么
请帮忙在这个配置中获取正确的URL?谢谢
要获取所需的 URL,您需要删除终端节点中的授权参数:
OIDC_OP_AUTHORIZATION_ENDPOINT
OIDC_OP_TOKEN_ENDPOINT(OIDC_OP _ TOKEN _ ENDPOINT)
这将为您产生新的endpoint,如下所示。
OIDC_OP_AUTHORIZATION_ENDPOINT = "https://TENANTID.b2clogin.com/TENANTID.onmicrosoft.com/oauth2/v2.0/authorize"
OIDC_OP_TOKEN_ENDPOINT = "https://TENANTID.b2clogin.com/TENANTID.onmicrosoft.com/oauth2/v2.0/token"
现在您缺少URL的一部分,因此可以使用以下代码重新添加“policy”授权参数:
OIDC_AUTH_REQUEST_EXTRA_PARAMS = {'p': 'b2c_1_TENANTID_signin'}
OIDC_RP_SCOPES = ['openid']
能否使用< code > OIDC _使用_随机数=假而不是将< code >随机数设置为< code >默认随机数?
编辑:我应该提到这并没有解决您关于< code>response_type和< code>nonce的问题。
我必须从库中更新 views.py 文件才能获得所需的URL。文档非常糟糕,但至少它正在工作。
这个FAQ的最新版本总是可以从Apache主站点得到,位于<http://httpd.apache.org/docs/2.2/faq/> 如果你的问题在这里没有找到答案,你也可以看看Apache 1.3 FAQ ,看你的问题是否在那里有了答案。 主题 背景 关于 Apache HTTP Server 的背景知识。 支持 我遇到问题该怎么办? 错误信息 这些错误信息是什么意思? 背景 什么是Apac
我试图在fabric rocket chat上联系,但没有得到太多帮助,因此在SO上发布了它。我有以下疑问: 我们是否可以在链码内访问块高度(我知道这在客户端是可行的,但在链码内是否可能) 可以从链码中的正在进行的事务调用新事务吗? 想知道hyperledger Fabric中存储的数据的历史记录在哪里 我们可以根据链码中的transactionid进行查询吗? 在fabric链码中编写调度程序是
问题内容: 我正在尝试创建一个程序,在该程序中,用户可以使用扫描仪将值输入到数组中。 但是,当程序要求学生的近亲时,它不会让用户输入任何内容而直接结束程序。 下面是我完成的代码: 我试过使用next(); 但只会使用用户输入的第一个单词,这不是我想要的。反正有解决这个问题的方法吗? 问题答案: 当您按Enter键(换行符)时,会出现问题。仅使用整数,但跳过换行符。要解决此问题,您可能需要在阅读后添
我必须回到这个论坛寻求帮助,因为我不能仍然使‘承诺.所有’工作! 第一,我有这个函数,按说是回一个承诺: 其思想是上面的函数返回一个promise,其值一旦解析,就是json对象。我已经检查了json实际上是有效的。如果我用下面的行替换“return...”行,我实际上会得到一个有效的JSON: 第二,我有这个for循环,之后我希望有一系列承诺: 最终我执行以下代码: 我希望.then部分只在所有
null log4j2.xml将默认记录器根日志级别设置为info。但有时我需要指定debug。 在Windows PowerShell上执行上述命令行时出现错误 我尝试了-dlog4j.configurationfile=file://log4j.configurationfile=./log4j2.xml或-dlog4j.configurationfile=./log4j2.xml或-dlog
比如现在有个接口,地址是/api/user/info 那么最终转发后的地址是 http://aaa.com/api/user/info 如果规则改成这样,在转发地址后加个/, 最终转发后的地址是: http://aaa.com/user/info 原因是什么呢?为什么转发地址后加/就会把/api给剃掉呢? 还有写成 /api 和 /api/ 好像效果是一样的,这两者的区别在哪呢?
问题内容: 我正在尝试运行声纳运行器,我的项目目录中有蝙蝠文件,当我通过命令提示符导航至该文件并尝试运行它时,我收到一条错误消息,提示 错误:JAVA_HOME存在,但没有指向有效的Java主文件夹。在此找不到“ \ bin \ java.exe”文件。 如果我回显Java_Home的路径,它也指向 $ C:\ Program Files(x86)\ Java \ jdk1.7.0_15 \ bi
我与一直存在权限问题。 我无法运行或。它给了我以下错误: AttributeError:“\u NamespacePath”对象没有“sort”属性 但是,将执行罚款。然后再次