I have a custom activity scope that passes an private authentication token to it’s children. The only issue is I don’t know how to check and see if the child activity (the code pictured below) is inside of the correct parent scope.
I have an attempted solution for this at the var parentScope line but it doesn’t work properly, and even when placed inside of a scope it prints that the parentscope is null.
protected override async Task<Action<AsyncCodeActivityContext>> ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
{
// Inputs
var limit = Limit.Get(context);
var offset = Offset.Get(context);
var query = Query.Get(context);
var parentScope = context.DataContext.GetProperties()["Parent"]?.GetValue(context.DataContext) as AuthenticationScope;
if (parentScope == null)
throw new InvalidOperationException($"GetDocuments must be used within a WEBI AuthenticationScope. Current scope is {parentScope}");
//throw new InvalidOperationException($"Context Classname: {context.DataContext.GetClassName()}, Context Properties 0: {context.DataContext.GetProperties()[0]}");
AuthorizationToken = parentScope.GrabAuthToken(context);
BaseUrl = parentScope.GrabBaseUrl(context);
List<WEBIDocument> WEBIDocumentList = await GetDocumentList(query, offset, limit);
// Outputs
return (ctx) => {
DocumentList.Set(ctx, WEBIDocumentList);
};
}